Pagination

Last updated

Pagination, also known as paging, is the process of dividing a document into discrete pages, either electronic pages or printed pages.

Contents

In reference to books produced without a computer, pagination can mean the consecutive page numbering to indicate the proper order of the pages, which was rarely found in documents pre-dating 1500, and only became common practice c. 1550, when it replaced foliation, which numbered only the front sides of folios.

Pagination in word processing, desktop publishing, and digital typesetting

Word processing, desktop publishing, and digital typesetting are technologies built on the idea of print as the intended final output medium, although nowadays it is understood that plenty of the content produced through these pathways will be viewed onscreen as electronic pages by most users rather than being printed on paper.

All of these software tools are capable of flowing the content through algorithms to decide the pagination. For example, they all include automated word wrapping (to obviate hard-coded newline delimiters), machine-readable paragraphing (to make paragraph-ending decisions), and automated pagination (to make page-breaking decisions). All of those automated capabilities can be manually overridden by the human user, via soft hyphens (that is, inserting a hyphen which will only be used if the word is split over two lines, and thus not shown if not), manual line breaks (which force a new line within the same paragraph), hard returns (which force both a new line and a new paragraph), and manual page breaks.

Pagination in print

Today printed pages are usually produced by outputting an electronic file to a printing device, such as a desktop printer or a modern printing press. These electronic files may for example be Microsoft Word, PDF or QXD files. They will usually already incorporate the instructions for pagination, among other formatting instructions. Pagination encompasses rules and algorithms for deciding where page breaks will fall, which depend partly on cultural considerations about which content belongs on the same page: for example one may try to avoid widows and orphans. Some systems are more sophisticated than others in this respect. Before the rise of information technology (IT), pagination was a manual process: all pagination was decided by a human. Today, most pagination is performed by machines, although humans often override particular decisions (e.g. by inserting a hard page break).

Pagination in electronic display

A user viewing an electronic page on an eBook reading device, one of several devices that display electronic pages Laptop-ebook.jpg
A user viewing an electronic page on an eBook reading device, one of several devices that display electronic pages

"Electronic page" is a term to encompass paginated content in presentations or documents that originate or remain as visual electronic documents. This is a software file and recording format term in contrast to electronic paper, a hardware display technology. Electronic pages may be a standard sized based on the document settings of a word processor file, desktop publishing application file, or presentation software file. Electronic pages may also be dynamic in size or content such as in the case of HTML pages. When end-user interactivity is part of the user experience design of an electronic page, it is better known as a graphical user interface (GUI). The number and size of electronic pages in a document are limited by the amount of computer data storage, not by the display devices or amount of paper.

Most electronic pages are for either display (screen output) on a computer monitor or handheld device, or output to a printing device. PDF and some e-book file format pages are designed to do both. Most applications will print electronic pages without the need for a screen capture. However, not all software supports WYSIWYG printing of pages. Pages exclusively for screen output are more commonly known as screens, windows, interfaces, scenes, or cards. In the case of presentation software, electronic pages are known as slides.

In web browsers

Electronic pages displayed on a web browser are often called web pages, regardless of whether they are accessed online via a web server on the World Wide Web, or stored locally offline. More accurately, such documents are named by the markup language that makes them displayable via a web browser, e.g. "HTML page".

With dynamic web pages, pagination is used for such things as displaying a limited number of results on search engine results pages, or showing a limited number of posts when viewing a forum thread.

Pagination is used in some form in almost every web application to divide returned data and display it on multiple pages within one web page. Pagination also includes the logic of preparing and displaying the links to the various pages.

Pagination can be handled client-side or server-side.

For client-side pagination, the content of each page is included in the HTML source code pre-loaded within the page, while server-side pagination requests each page individually upon navigation.

Server-side pagination is more common. Client-side pagination can be used when there are very few records to be accessed, in which case all records can be returned, and the client can use JavaScript or CSS [1] to view the separate pages.

By using AJAX, hybrid server/client-side pagination can be used, in which JavaScript is used to request the subsequent page from the server which is loaded and inserted into the Document Object Model via AJAX. [2]

Server-side pagination is appropriate for large data sets providing faster initial page load, accessibility for those not running Javascript, and complex view business logic, while client-side pagination allows navigating between pages without delay from a server request.

Correctly implementing pagination can be difficult. [3] There are many different usability questions such as should "previous" and "next" links be included, how many links to pages should be displayed, and should there be a link to the first and last pages. [4] Also ability to define the number of records displayed in a single page is useful. [5]

In comparison to bottomless scrolling, pagination allows skipping pages and can be implemented with permanent links (as done with the offset URL parameter in the MediaWiki wiki engine), whereas bottomless scrolling does not require clicking or tapping if loaded automatically.

In Database

Pagination is an approach used to limit and display only a part of the total data of a query in the database. Instead of showing hundreds or thousands of rows at the same time, the server is requested only one page (a limited set of rows, per example only 10 rows), and the user starts navigating by requesting the next page, and then the next one, and so on. It is very useful, specially in web systems, where there is no dedicated connection between the client and the server, so the client does not have to wait to read and display all the rows of the server.

Presentation vs. content

Today, all content, no matter which output medium is planned, predicted, or not predicted, can be produced with technologies that allow downstream transformations into any presentation desired, although such best-practice preparation is still far from universal. This usually involves a markup language (such as XML, HTML, or SGML) that tags the content semantically and machine-readably, which allows downstream technologies (such as XSLT, XSL, or CSS) to output them into whatever presentation is desired. This concept is known as the separation of presentation and content. This paradigm is now the conventional one in most commercial publishing, except to the extent that legacy and backward compatibility issues and budget constraints interfere, and to the extent that many of the people involved do not understand the topic enough to help build compliance. But the need to manually paginate has diminished as the technology for dynamic display and automatic pagination advances. Also, there is less need to make a hierarchical distinction between pagination in print and pagination in electronic display, because the same underlying content will most likely be used for the latter exclusively if not for both display methods.

See also

Related Research Articles

In computing, Common Gateway Interface (CGI) is an interface specification that enables web servers to execute an external program to process HTTP or HTTPS user requests.

Dynamic HTML, or DHTML, is a term which was used by some browser vendors to describe the combination of HTML, style sheets and client-side scripts that enabled the creation of interactive and animated documents. The application of DHTML was introduced by Microsoft with the release of Internet Explorer 4 in 1997.

<span class="mw-page-title-main">HTML</span> HyperText Markup Language

HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript.

<span class="mw-page-title-main">Transclusion</span> Including one data set inside another automatically

In computer science, transclusion is the inclusion of part or all of an electronic document into one or more other documents by reference via hypertext. Transclusion is usually performed when the referencing document is displayed, and is normally automatic and transparent to the end user. The result of transclusion is a single integrated document made of parts assembled dynamically from separate sources, possibly stored on different computers in disparate places.

<span class="mw-page-title-main">World Wide Web</span> Linked hypertext system on the Internet

The World Wide Web is an information system that enables content sharing over the Internet through user-friendly ways meant to appeal to users beyond IT specialists and hobbyists. It allows documents and other web resources to be accessed over the Internet according to specific rules of the Hypertext Transfer Protocol (HTTP).

<span class="mw-page-title-main">Website</span> Set of related web pages served from a single domain

A website is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. Websites are typically dedicated to a particular topic or purpose, such as news, education, commerce, entertainment, or social media. Hyperlinking between web pages guides the navigation of the site, which often starts with a home page. The most-visited sites are Google, YouTube, and Facebook.

An HTML element is a type of HTML document component, one of several types of HTML nodes. The first used version of HTML was written by Tim Berners-Lee in 1993 and there have since been many versions of HTML. The current de facto standard is governed by the industry group WHATWG and is known as the HTML Living Standard.

In software engineering, the terms frontend and backend refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

A web style sheet is a form of separation of content and presentation for web design in which the markup of a webpage contains the page's semantic content and structure, but does not define its visual layout (style). Instead, the style is defined in an external style sheet file using a style sheet language such as CSS or XSLT. This design approach is identified as a "separation" because it largely supersedes the antecedent methodology in which a page's markup defined both style and structure.

Ajax is a set of web development techniques that uses various web technologies on the client-side to create asynchronous web applications. With Ajax, web applications can send and retrieve data from a server asynchronously without interfering with the display and behaviour of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows web pages and, by extension, web applications, to change content dynamically without the need to reload the entire page. In practice, modern implementations commonly utilize JSON instead of XML.

<span class="mw-page-title-main">Dynamic web page</span> Type of web page

A dynamic web page is a web page constructed at runtime, as opposed to a static web page, delivered as it is stored. A server-side dynamic web page is a web page whose construction is controlled by an application server processing server-side scripts. In server-side scripting, parameters determine how the assembly of every new web page proceeds, and including the setting up of more client-side processing. A client-side dynamic web page processes the web page using JavaScript running in the browser as it loads. JavaScript can interact with the page via Document Object Model (DOM), to query page state and modify it. Even though a web page can be dynamic on the client-side, it can still be hosted on a static hosting service such as GitHub Pages or Amazon S3 as long as there is not any server-side code included.

A web content management system is a software content management system (CMS) specifically for web content. It provides website authoring, collaboration, and administration tools that help users with little knowledge of web programming languages or markup languages create and manage website content. A WCMS provides the foundation for collaboration, providing users the ability to manage documents and output for multiple author editing and participation. Most systems use a content repository or a database to store page content, metadata, and other information assets the system needs.

<span class="mw-page-title-main">Page layout</span> Part of graphic design that deals in the arrangement of visual elements on a page

In graphic design, page layout is the arrangement of visual elements on a page. It generally involves organizational principles of composition to achieve specific communication objectives.

Tableless web design is a web design method that avoids the use of HTML tables for page layout control purposes. Instead of HTML tables, style sheet languages such as Cascading Style Sheets (CSS) are used to arrange elements and text on a web page.

In HTML, <div> and <span> tags are elements used to define parts of a document, so that they are identifiable when a unique classification is necessary. Where other HTML elements such as <p> (paragraph), <em> (emphasis), and so on, accurately represent the semantics of the content, the additional use of <span> and <div> tags leads to better accessibility for readers and easier maintainability for authors. Where no existing HTML element is applicable, <span> and <div> can valuably represent parts of a document so that HTML attributes such as class, id, lang, or dir can be applied.

SQL Server Reporting Services (SSRS) is a server-based report generating software system from Microsoft. It is part of a suite of Microsoft SQL Server services, including SSAS and SSIS.

<span class="mw-page-title-main">Web template system</span> System in web publishing

A web template system in web publishing allows web designers and developers work with web templates to automatically generate custom web pages, such as the results from a search. This reuses static web page elements while defining dynamic elements based on web request parameters. Web templates support static content, providing basic structure and appearance. Developers can implement templates from content management systems, web application frameworks, and HTML editors.

In fields employing interface design skills, slicing is the process of dividing a single 2D user interface composition layout (comp) into multiple image files of the graphical user interface (GUI) for one or more electronic pages. It is typically part of the client side development process of creating a web page and/or web site, but is also used in the user interface design process of software development and game development.

<span class="mw-page-title-main">Web page</span> Content provided by a website

A web page is a document on the Web that is accessed in a web browser. A website typically consists of many web pages linked together under a common domain name. The term "web page" is thus a metaphor of paper pages bound together into a book.

References

  1. "Building a paginated listing with only HTML and CSS for Responsive Design". _Beacon – Main Site 2019.
  2. Mikheev, Oleg (28 August 2007). "Ajax programming with Struts 2". JavaWorld . Retrieved 26 July 2020.
  3. Baptiste, Lyndon (30 November 2007). "Perfect PHP Pagination". SitePoint . Retrieved 6 February 2009.
  4. Gervasio, Alejandro (10 May 2005). "Previous or Next? Paginating Records with PHP – Part 3". DevShed. Archived from the original on 8 May 2017.
  5. Nimesh, Rakhitha (21 August 2011). "Creating a PHP Pagination Library From Scratch". InnovativePhp. Archived from the original on 27 April 2016.