Content Management Systems: Drupal Vs Jahia



Similar documents
Content Management Systems: Drupal Vs Jahia

Typo3_smartsite. Smartsite CMS Release 5 5/24/2006

Typo3_tridion. SDL Tridion R5 3/21/2008

Content management system comparison

System. CMS Vendor Comparison. Ektron 8.6. Drupal Sitecore 6.5. Kentico EMS 8.2. EPiServer WordPress SharePoint Umbraco 4.

Open Source Content Management System for content development: a comparative study

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

FEATURES LIST. cms.moveable.com

Content Management Software Drupal : Open Source Software to create library website

Architecture Guide Jahia EE v6.1

Building Library Website using Drupal

Proposal for Website Design and Development Services: Digital Library Federation

Christopher Zavatchen

Manage Website Template That Using Content Management System Joomla

Mindshare Studios Introductory Guide to Content Management Systems

The Electronic Document Management Application (EDM)

Kentico CMS for.net User Groups

Content Manager User Guide Information Technology Web Services

PLATFORM. Web Content Management and Digital Marketing for Higher Education. Everything You Need from a Great Enterprise CMS CONTENT MANAGEMENT

CS3051: Digital Content Management

SENSE/NET 6.0. Open Source ECMS for the.net platform. 1

Development of a Learning Content Management Systems

NHS Education for Scotland Knowledge Services Design and Development Framework

SOA REFERENCE ARCHITECTURE: WEB TIER

Using your Drupal Website Book 1 - Drupal Basics

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

Workshop on Using Open Source Content Management System Drupal to build Library Websites Hasina Afroz Auninda Rumy Saleque

Creating Library Website Using Open Source Content Management System

Lisa Sabin-Wilson WILEY. Wiley Publishing, Inc.

Esigate Module Documentation

TERMS OF REFERENCE. Revamping of GSS Website. GSS Information Technology Directorate Application and Database Section

Standards, Tools and Web 2.0

Inviting Quotation for converting existing Static website to Dynamic website.

Kentico CMS 5 Developer Training Syllabus

WebLink 3 rd Party Integration Guide

Comparing and Evaluating Open Source E-learning Platforms

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

Creating Research Web Sites with Drupal. Randy Carpenter & Steven Akins, May 25, 2010 TSO Brown Bag Course

multiple placeholders bound to one definition, 158 page approval not match author/editor rights, 157 problems with, 156 troubleshooting,

User Guide. Chapter 6. Teacher Pages

Open Source Content Management System JOOMLA

JBoss Portal 2.4. Quickstart User Guide

Sisense. Product Highlights.

Content Management System (CMS)

A Report submitted in partial fulfillment of the regulations governing the award of the degree of

Internet Engineering Task Force (IETF) Website Revamp Requirements

Short notes on webpage programming languages

MatchPoint Technical Features Tutorial Colygon AG Version 1.0

The easy way to a nice looking website design. By a total non-designer (Me!)

Web Design Specialist

Aspire Systems - Experience in Digital Marketing and Social Media

Table of Contents 1. RedDot CMS Project Builder Training Beginning Concepts RedDot

Housing Works. Content Management System Overview. Presented to:

Web Design Technology

ORACLE APPLICATION EXPRESS 5.0

A Close Look at Drupal 7

Beginning Oracle. Application Express 4. Doug Gault. Timothy St. Hilaire. Karen Cannell. Martin D'Souza. Patrick Cimolini

Web Content Management System, Migration and Maintenance Services for ECDC Web Portal

MAKE YOUR WEB PRESENCE FELT WITH MOVABLE TYPE. WE MAKE IT SIMPLE TO CREATE AND EASY TO MANAGE YOUR CONTENT. Six Apart Movable Type

Build it with Drupal 8

Rich Media & HD Video Streaming Integration with Brightcove

owncloud Architecture Overview

EBOX Digital Content Management System (CMS) User Guide For Site Owners & Administrators

Content Management Implementation Guide 5.3 SP1

Liferay Portal User Guide. Joseph Shum Alexander Chow

Bureau for Visual Affairs. content management system. Keep your website up-to-date and relevant with ease

Shop by Manufacturer Custom Module for Magento

Elgg 1.8 Social Networking

DEVELOPING AN OPEN SOURCE CONTENT MANAGEMENT STRATEGY FOR E-GOVERNMENT

JICS Product Update Jenzabar, Inc. August 2010

Outline. CIW Web Design Specialist. Course Content

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Acquia Introduction December 9th, 2009

Trainer name is P. Ranjan Raja. He is honour of and he has 8 years of experience in real time programming.

Website Redesign and Content Management System Implementation -- Request for Proposals

PROJECT MANAGEMENT SYSTEM

UH CMS Basics. Cascade CMS Basics Class. UH CMS Basics Updated: June,2011! Page 1

Web Hosting. Comprehensive, scalable solutions for hosting dynamic websites, secure web services, and enterprise applications.

Content Management System

Kentico Content Management System (CMS

Developing a Website. Chito N. Angeles Web Technologies: Training for Development and Teaching Resources

SelectSurvey.NET Developers Manual

Software Requirements Specification For Real Estate Web Site

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Content Management System User Guide

Comparison of Magnolia CMS Editions

Bubble Code Review for Magento

Xtreeme Search Engine Studio Help Xtreeme

ADMINISTRATOR GUIDE VERSION

Roars. Sudaworld. M roarsinc.com W Roars Technologies Pvt. Ltd. Escalon, Sunnyvale, California, USA 94085

Web 2.0 Tools 2008 Dr. Pyatt

Document Freedom Workshop DFW 2012: CMS, Moodle and Web Publishing

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Web Development. How the Web Works 3/3/2015. Clients / Server

Red Hat Enterprise Portal Server: Architecture and Features

The Open Source CMS. Open Source Java & XML

Drupal CMS for marketing sites

webtree designs Gayle Pyfrom web site design and development Lakewood, CO

SOFTWARE TESTING TRAINING COURSES CONTENTS

Transcription:

Content Management Systems: Drupal Vs Jahia Mrudula Talloju Department of Computing and Information Sciences Kansas State University Manhattan, KS 66502. mrudula@ksu.edu Abstract Content Management Systems (CMS) is the category of software that helps to manage all unstructured information. Various CMS are developed in various programming languages which support different databases. Here, two open source CMS, Drupal and Jahia, are compared based on their architecture, features supported, technologies used and ease of use. Finally, an example (Department of Computer Science website) is developed in Jahia. 1. Introduction: CMS is the category of software that helps to manage all unstructured information or content. This information exists in many digital forms: text documents, images, audio and video files, and many other file types and formats. CMS supports the creation, management, distribution and publishing of the information. Web CMS typically focuses on the online content targeted at either corporate website or intranet. Various CMS software are developed in programming languages like PHP, Perl, ASP.NET, VB.NET, Java, etc and support databases like MySQL, Oracle, PostgreSQL, etc. Also there are free-andopen source and commercial CMS software. Jahia is a 100% Java based and open source CMS software. It supports HyperSonic SQL, MySQL, PostgreSQL, Oracle and Microsoft SQL server databases. Commercial editions of Jahia are also available at low cost, which supports additional features. The architecture of Jahia, technologies used and features supported, benefits and drawbacks are discussed in Section 2. Drupal is also open source CMS software licensed under the GPL. It is developed in PHP and supports MySQL and PostgreSQL databases. It is maintained and developed by a community of thousands of users and developers. The architecture of Drupal, its terminology, benefits and drawbacks are discussed in Section 3. Section 4 presents a comparison of the two CMS software. Section 5 presents an example CMS developed in Jahia. 1

2. Jahia: Jahia is open source CMS software that integrates various servers and technologies which make it powerful. The technologies used in Jahia and the way they are mapped into its architecture are discussed below. 2.1 Jahia Technologies and Features Supported: Enterprise Content Management Server: This server manages the unstructured information of an organization. Jahia relies on its own content repository which manages all the content objects, their interactions (create, update, delete, import and so on) and their properties (lock, languages, permissions and so on). It uses technologies like WYSIWYG editor (based on the FCK editor), JTidy integration, AJAX powered GUI and sitemaps, SSO support and JSP templates with taglibs. These technologies empower Jahia to provide better features like: i. Complete web based interface. ii. Multilanguage Support. iii. WYSIWYG editing. iv. Automatic sitemaps management. v. Staging: Authors may create or modify content in a staging environment. The author has three possible views of his current web page: live view, draft view and edit view. vi. Default set of templates: Jahia is provided with a default set of templates which can be customized to fit the needs. vii. Dynamic URL checking to avoid 403 and 404 errors. viii. Fields lock in/ lock out: This is used to avoid the two users modifying the same content and also to lock the fields under validation in order to let the managers review the content. ix. Time based publishing: Editor can setup a start and end date on every object of content. x. Versioning capabilities. xi. XML import/export: The content of a site or a page can be dynamically imported or exported in an XML format. Document Management Server: Jahia includes a document management server which supports WebDAV protocol, a protocol that provides functionality to create, change and move documents on a server. In Jahia, the uploading and managing of files can be handled directly from the windows web folders. It uses technologies like PDFBox for indexing pdf files. The features Jahia supports are: 2

i. Index and search for files: Jahia automatically indexes all office and pdf files and allows making advanced searches in the repository of files. ii. Automatic thumbnail creation. iii. Drag and drop the files. Search and Indexation Server: Jahia provides multilanguage support. Indexing the structured content which dynamically changes on the same page according to the language, mode or user is difficult. This is done by Jahia Indexation Server. It also allows us to search the content based on hidden metadata like author, validation date and so on. Search and indexation server uses Apache Lucene based kernel for implementing the required search and indexation functions. The features it provides are: i. Automatically index all Jahia content. ii. Give distinct search results based on the user, language or navigation mode. iii. Saved searches. Portal Server: Jahia supports portal technology. It integrates Portlet Builder which allows developing new portlets with less or no technological skills. It supports SQL portlets and web portlets. Collaborative Suite: Collaborative Suite extends the features of Jahia portal server to deliver ready to use collaboration and productivity based features. It helps to create a discussion forum, calendar server, chat room and so on. Business Process Management (BPM) Server: Jahia BPM server helps to create and manage complex business process or validation workflows. These workflows can be attached to any page or content object in Jahia. The features supported include: i. Manage complex workflows. ii. Monitor the business processes. Cache Proxy Server: Jahia includes a front-end cache proxy server to reduce response time and support massive user loads. This server automatically caches and assembles HTML fragments without regenerating them from the underlying Jahia application server and database. The cache proxy server is not available in the community (open source) edition. It is available in the commercial editions of Jahia. 3

2.2 Jahia Architecture: Jahia can be divided into seven categories. Details of each category are discussed below. 1. Third Party Systems: Jahia relies on several third party systems like: a database, access to File System (since Jahia stores all the large texts or the configuration files on the file system), a frontend web server (for dynamic URL rewriting) and a LDAP server to support single sign-on (SSO). 2. Jahia Foundation Server: The foundation server provides all the generic services to access and manage the various Jahia content objects and metadata. The document management layer manages all the binary files. Authentication and authorization system provides services to authenticate and manage user permissions. 3. Content Management System: CMS supports Multilanguage (internationalization I18N and localization L12N); the Live/Edit/Preview modes and the built-in workflow engine to move from one mode to another and content versioning. Further, CMS has an integrated search engine. 4

4. Corporate Portal Server: Jahia offers personalized home or group page features to create portals. A complete layout manager interface lets users to personalize their own web pages and move/resize their portlets. Jahia comes with pre-built web applications like discussion forum, FAQ, Time Sheet and so on. Since the applications are open source, it helps developers to see how they are implemented and create their own applications. 5. Content Authoring: Jahia provides several GUIs to help users input and manage content. These interfaces are called engines. Each content object will have its own custom engine i.e., a date field will launch a date picker interface while a text field will launch WYSIWYG HTML editor. Before storing into the file system, the inputted HTML text is parsed by JTidy to remove some tags (like <font>). The hard coded links are directly managed by Jahia. 6. Dynamic Content Publishing: Jahia dynamically aggregates all the content objects including static content and dynamic portlets and renders them through JSP template. XML export feature allows to output a page or a content object in XML which can be reused else where. 7. Admin Center: Admin center provides administration and maintenance tools. It provides central control of multiple virtual web sites from single interface; site language settings, administration of users and groups and other low-level database and cache management. 2.3 Benefits: Jahia includes various servers and technologies which provide various features and hence making it a powerful CMS. All the features listed in section 2.1 can be considered as benefits. Further, Jahia is well documented and also provides online guided tours. 2.4 Drawbacks: Even though Jahia is a powerful tool for building and maintaining a CMS, it has few drawbacks. Some of the features like saved searches, advanced search form, HTML proxy/cache server are not available in the open source edition. An application developed in Jahia cannot run in CGI mode or other low-end systems. Jahia does not allow users to upload internal content and files via FTP. Jahia does not have any applications to support creating arbitrary data entry applications and database reports. Jahia does not support the security feature, Email Verification i.e., it does not send an activation key to users to make sure that they have entered a valid email address. Jahia server should be active and running all the time in order to access the Jahia application. 5

3. Drupal: Drupal is a modular content management system and blogging engine. It is developed in PHP and is maintained and developed by a community of thousands of users. Drupal uses a terminology of node, block, role and theme to represent content, box of content, privileges of a user and page layout respectively. Drupal terminology and its modular architecture are discussed below. 3.1 Drupal Terminology: Node: Content in Drupal is represented as nodes. Different node types available in Drupal are blog entry, book page, forum (which in turn is a set of nodes and their comments), page, poll, story and so on. Block: Blocks are the boxes of content which can be rendered into certain regions of the page i.e., header or side bars or content column. For example, a block can represent links for navigation in the side bar. Blocks can be enabled or disabled. Only enabled blocks are shown. Certain blocks can be configured to automatically disable themselves temporarily during high server loads. This feature is called auto-throttle. Role: Roles represent the privileges of a user. Depending on the role, few blocks may not display. Theme: Theme describes the look and feel of the website. Drupal comes with a set of default themes which can be used to change the layout of the website. These themes are written in the PHPTemplate engine or the XTemplate engine. Modules: Modules are plug-ins for Drupal to extend its core functionality. Modules can be enabled or disabled depending on the application. Many modules developed by the users and developers of Drupal are available on the website, which can be downloaded and used to add additional features. 3.2 Drupal Architecture: Drupal s architecture is modular. It has core modules which have functions for content and user management. Other modules can be plugged in for specific features. All these modules can be enabled or disabled depending on the requirement. Drupal Core: Drupal core contains modules for content and user management, taxonomy, localization, templating and syndication. Taxonomy module allows user to create categories to organize content by type. For example, music files can be categorized based on genre. Drupal further allows defining vocabulary, a set of categories, to organize content. Drupal s flexible taxonomy allows creation of unlimited separate classification schemes. Each of these schemes can be arranged as a list or tree. Administrators can then use these schemes to associate with each content type and users can then browse this tagged content by its taxonomy terms. 6

Localization module allows the translation of website to make it accessible in one or more languages. Syndication: Drupal provides news aggregator, a powerful RSS news reader that can gather fresh content from news sites or blogs and make it available from the Drupal website. Drupal Modules: Drupal modules focus on the specific features. The Drupal core binds all the modules together and hence modules integrate seamlessly into Drupal. There are many modules, contributed by the users and developers, available on the website. These can be downloaded and used as it is or they can be customized. 3.3 Benefits: The benefits of Drupal are: Drupal s architecture is truly modular. This allows any module to be easily plugged in and used. Web-based administration. Multilanguage support. It provides applications to support creating arbitrary data entry applications. It allows user to upload content and files via FTP. It has a built-in search engine. Many modules are available on the website which can be downloaded and customized. Few examples of such modules include photo manager, advertisement, amazon search and other e- commerce modules. 7

Many themes are available on the website which can be downloaded and used to change the look-n-feel of the website. Full discussion forum features are built into Drupal to create community sites. WYSIWYG editors are available as free plug-ins. This allows users to create and publish formatted content without knowing HTML, CSS or XML. Drupal supports content versioning. Drupal supports creating user and search-engine friendly URLs. Drupal has an integrated search engine that indexes the content and allows users to search the indexed content. It supports the security feature: Email Verification i.e., it sends an activation key to the users to make sure that they have entered a valid e-mail address. Drupal can print browser-based reports with information about the referrals, content popularity and how visitors navigate the site. Unlike Jahia, Drupal provides all the features it claims to support, in the open source edition. Unlike Jahia, Drupal does not have its own server which needs to be running in order to be able to access the application developed in Drupal. 3.4 Drawbacks: Few of the drawbacks of Drupal are listed below. Configuration of Drupal was difficult in the earlier editions of Drupal. This is resolved in Drupal 5. However, it is still complex when compared to Jahia. Browser compatibility is an issue in Drupal. Few of the modules (like photo manager) work well in Internet Explorer but not in other browsers like Mozilla Firefox. Drupal does not support zip archives. Zip archives are used for mass uploading the static content of the application/website. To develop new themes, the developer needs to have a good knowledge of PHP and PHPTemplate engine. The architecture of Drupal, its working and the technologies used are not well documented. This makes the new user difficult to understand the working of Drupal. 8

4. Jahia Vs Drupal: Based on the discussion in sections 2 and 3, the following table compares Jahia and Drupal depending on system requirements, applications, ease of use, interoperability and performance. Table 1: Jahia Vs Drupal 9

5. Example Application in Jahia (Department of Computer Science website): This section gives the Jahia installation notes and the description of the website. 5.1 Installation Notes: Windows: Download the executable file from the Jahia website. When this file is run, an installation wizard starts to guide us through the installation process. (Before running the executable file, make sure that the JAVA_HOME variable is set). After Jahia is installed, start the Jahia server. The first time, configuration wizard starts. This helps to setup the database connections, administrator information and website settings. In order to access the website, the server should be up and running. Linux: Make sure that the JAVA_HOME variable is set. Download the.tar.gz file from the Jahia website. Unzip this file and execute jahia.sh shell script file. This will start the server. The first time, configuration wizard starts. This helps to setup the database connections, administrator information and website settings. In order to access the website, the server should be up and running. This can be done by executing jahia.sh file in linux screen mode. 5.2 Description of Website: Department of Computer Science website provides information required for the graduate and undergraduate students. It further includes the information about the courses offered, research and faculty. siteadmin is the administrator of the website. Each faculty member has a web space for their web pages to include details of the courses they teach and other information. The structure of the website is represented in the following site map. Figure 3: Sitemap representing the structure of the website 10

Each faculty member has a picture and links to the pages of the course he/she teaches. A faculty member has rights to edit and approve his/her home page and the course pages linked from the home page. The home page of the website is shown below: Figure 3: Department Home Page Faculty page gives the list of professors and links to their homepage. This page can be updated by siteadmin only. When logged in as administrator, the page has edit mode. This is shown in Figure 4. The activity diagram describing the workflow of the system for editing the content by siteadmin is given in Figure 5. 11

Figure 4: Faculty page when logged in as administrator Figure 5: Activity Diagram for Edit Content on home page by admin 12

When logged in as professor Adam Guzman, user name adam or any other user who does not have privileges to update the page, the edit mode is not displayed. This is shown in Figure 6. The activity diagram describing the workflow of the system for editing the content by user other than siteadmin is given in Figure 7. This shows how the website developed in Jahia can be administered from anywhere through browser unlike the traditional websites. Figure 6: Faculty page when logged in as user, adam. 13

Figure 7: Activity Diagram for Edit Content by user other than admin 6. Conclusion: CMS softwares provide features that enable users with little or no technical knowledge to administer, develop and maintain complex applications. While Drupal is widely used to develop personal websites, blogs, discussion sites and social networking sites, Jahia is used to develop intranet and internet applications in various sectors like public, educational, manufacturing, banking and financial services and so on. However, neither of these two supports a very useful feature: drag-n-drop content. Including this feature and other useful features (like graphs and charts) can be the next step in the CMS software development. 14

References: 1. Wikipedia - Content Management, http://en.wikipedia.org/wiki/content_management. 2. Wikipedia - Content Management Systems, http://en.wikipedia.org/wiki/content_management_system. 3. The Open Unified Enterprise Content Management and Portal Server - JAHIA, http://www.jahia.org/jahia/jsp/index.jsp. 4. An open source content management platform - Drupal, http://drupal.org/. 5. Department of Computing and Information Sciences - Kansas State University, http://cis.ksu.edu/. Vocabulary: Vocabulary provides the definition of the terms used in this document. Most of these definitions are taken from wikipedia.org and knowledge base website of Indiana university (http://kb.iu.edu/). AJAX: Ajax, shorthand for "Asynchronous JavaScript and XML," is a web development technique for creating interactive web applications. The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, so that the entire web page does not have to be reloaded each time the user requests a change. This is intended to increase the web page's interactivity, speed, and usability. More on AJAX can be found at http://en.wikipedia.org/wiki/ajax. CGI: The Common Gateway Interface (CGI) is a method of allowing a hyperlink to refer to a program rather than a static web page. More on CGI can be found at http://kb.iu.edu/data/bacg.html. CSS: Cascading Style Sheets (CSS) is a stylesheet language used to describe the presentation of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document. FCK Editor: Web-based HTML text editor with powerful formatting capabilities. FTP: FTP or File Transfer Protocol is used to transfer data from one computer to another over the Internet, or through a network. Specifically, FTP is a commonly used protocol for exchanging files over any network that supports the TCP/IP protocol (such as the Internet or an intranet). More on FTP can be found at http://en.wikipedia.org/wiki/file_transfer_protocol. GPL: GNU General Public License (GNU GPL or simply GPL) is a widely-used free software license. The GPL grants the recipients of a computer program the rights of the free software definition and uses copyleft to ensure the freedoms are preserved, even when the work is changed or added to. Internationalization and localization are means of adapting products such as publications, hardware or software for non-native environments, especially other nations and cultures. JTidy: JTidy is HTML syntax checker and pretty printer. JTidy can be used as a tool for cleaning up malformed and faulty HTML. LDAP: The Lightweight Directory Access Protocol, or LDAP, is an application protocol for querying and modifying directory services running over TCP/IP. More on LDAP can be found at http://en.wikipedia.org/wiki/ldap. 15

PHPTemplate engine: A theme engine that allows you to use template files written in pure php. These template files do not need to be processed by the theme engine, and as such execute a lot faster than most other template engines. Another major advantage to using PHP as your template language, is flexibility, as the advanced user can access any information / functionality available in the Drupal API, and is not restricted to what the template engine / language allows him to do. Portlets: Portlets are pluggable user interface components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal page. Portlet applications include email, weather reports, discussion forums, and news. RSS: RSS is a family of web feed formats used to publish frequently updated digital content, such as blogs, news feeds or podcasts.users of RSS content use software programs called "feed readers" or "feed aggregators". The user subscribes to a feed by entering a link to the feed into the reader program. The reader can then check the user's subscribed feeds to see if any of those feeds have new content since the last time it checked and if so, retrieve that content and present it to the user. More on RSS can be found at http://en.wikipedia.org/wiki/rss. Linux Screen Program: The "screen" program can be used whenever you want to log out of a remote Linux account, but you want another program that you are running to keep running even after you've logged out. SSO: Single sign-on (SSO) is a specialized form of software authentication that enables a user to authenticate once and gain access to the resources of multiple software systems. WYSIWYG: WYSIWYG is an acronym for What You See Is What You Get, used in computing to describe a system in which content during editing appears very similar to the final product. XTemplate is a template engine for PHP that allows you to store your HTML code separately to your PHP code. It has many useful features such as nested blocks and various kinds of variable interpolation, and yet the code is very short and optimized. Zip Archives: The ZIP file format is a popular data compression and archival format. A ZIP file contains one or more files that have been compressed, to reduce their file size, or stored as-is. 16