Browse Definitions by Topic

Content Management System (CMS)

Content management system (CMS) - information system or a computer program with simple and convenient user interface, used to provide and organize a joint process of creating, editing and managing content without special programming knowledge.

Main functions

  • Providing tools for creating content, and organizing collaborative work;
  • Content management: storage, version control, compliance with access mode, flow control of documents, etc.;
  • Publishing;
  • The presentation of information in a form convenient for navigation and searching.

The content management system can contain a wide variety of data: documents, films, photographs, phone numbers, scientific data, and so on. Such a system is often used to store, manage, review and publish documentation.

Version control is one of its main advantages when the content is changed by a group of people.


In general, content management systems are divided into:

  • The Enterprise Content Management System (ECMS)
  • Web Content Management System (WCMS)

The term CMS replaced WCMS, becoming a synonym for the website management system.

Such CMS allows you to manage the text and graphic content of a website, providing the user with an interface for working with the content of the site, convenient tools for storing and publishing information, and automating the processes of placing information in databases and issuing it to HTML.

There are many ready-made content management systems, including free ones. They can be divided into three types according to the mode of operation:

  • Generate pages on request. Systems of this type work on the basis of the link "Editing module → Database → Presentation module". The presentation module generates a page with content when it is requested, based on information from the database. The information in the database is modified using the editing module. Pages are newly created by the server at each request, which in turn creates an additional load on the system resources.
  • Generate pages when editing. Systems of this type serve for editing pages that, when making changes to the content of the site, create a set of static pages.
  • The mixed type. As the name implies, it combines the advantages of the previous two. Can be implemented by caching - the presentation module generates the page once, in the future it is loaded several times faster from the cache. The cache can be updated automatically, after a certain time period or when making changes to certain sections of the site, or manually by the administrator's command. Another approach is to save certain information blocks at the stage of editing and build a page from these blocks when the user requests the corresponding page.

Most of the modern CMS are implemented as a visual (WYSIWYG) editor - a program that creates HTML code from a special simplified markup that allows the user to easily format the text.

Additional Terms
Alpha software
is computer software in the early testing phase. It has basic functions enough to be used, but it is often buggy and lacks features that will be integrated into the final version. Alpha software is often used for internal testing. Internal (Alpha) testing - The stage of testing the program as a whole by testers, usually not developers of the software product, but, as a rule, within the organization or the community developing the product. Also, it can be the stage of adding new functionality, whereby programs can only be used to familiarize themselves with future opportunities. Most often, alpha testing is carried out at an early stage of software development, but in some cases, it can be used for a finished product as an internal acceptance test. Sometimes alpha testing is performed under a debugger or using an integrated development environment that helps to quickly identify the errors found. The detected bugs can be reported to testers for additional investigation in an environment similar to the one in which the program will be used. Typically, alpha testing ends with freezing properties and goes into beta testing.   Beta testing - The stage of active public testing and debugging of the program that passed the alpha testing (if any). Programs of this level can be used by other developers of software for compatibility testing. Nevertheless, the programs of this stage can still contain a large number of errors. Sometimes beta testing is performed in order to get feedback about the product from its future users. Often for free and open source software, the alpha testing phase is characterized by the functional content of the code, and beta testing is the error correction stage. At the same time, as a rule, at each stage of development, intermediate results of work are available to end users.
Cloud computing
often referred as the cloud, the practice of using a network of remote servers to store, manage, and process data, rather than a local server or computer. Via cloud model the user can easily get a convenient web access to computing resources (for example, servers, storage devices, data networks, applications and services - both together and separately) that can be promptly provided and released with minimal operating costs, paid to the cloud computing provider. The National Institute of Standards and Technology (NIST) recorded the following mandatory characteristics of cloud computing: Self-service on demand - the consumer independently identifies and changes computing needs, such as server time, access and processing speeds, the amount of stored data without interacting with a representative of the service provider; Universal access over the network - services are available to consumers over the data network, regardless of the device used; Resource pooling - a service provider integrates resources to serve a large number of consumers in a single pool for dynamic redistribution of capacity between consumers in a constantly changing demand; while consumers control only the basic parameters of the service (for example, data volume, access speed), but the actual distribution of resources provided to the consumer is performed by the supplier ; Elasticity - services can be provided, expanded, narrowed at any time, without additional costs for interaction with the supplier, usually in automatic mode; Consumption accounting - the service provider automatically calculates the consumed resources at a certain level of abstraction (for example, the amount of data stored, the bandwidth, the number of users, the number of transactions) and, based on this data, estimates the volume of services provided to consumers. Deployment Models Private cloud Private cloud is an infrastructure intended for use by one organization, including several consumers (for example, units of the same organization), possibly also customers and contractors of this organization. A private cloud can be owned, managed and operated by both the organization itself and a third party (or some combination thereof), and it can physically exist both inside and outside the owner's jurisdiction. Public cloud The public cloud is an infrastructure designed for free use by the general public. A public cloud can be owned, managed and operated by commercial, scientific and government organizations (or some combination thereof). A public cloud exists physically in the jurisdiction of the owner-provider of services. Community cloud The community cloud is a kind of infrastructure intended for use by a specific community of consumers from organizations that have common tasks (for example, security requirements, policies, missions, and compliance with different requirements). A public cloud may be co-operative (co-owned), managed and operated by one or more community organizations or a third party (or any combination thereof), and it can physically exist both inside and outside the owner's jurisdiction. Hybrid cloud A hybrid cloud is a combination of two or more different cloud infrastructures (private, public or community) that remain unique objects but are linked together by standardized or proprietary data and application technologies (for example, short-term use of public cloud resources for load balancing between clouds).
Commercial Software
Commercial software is software designed to make profit by other means; for example, by selling copies. Commercial and free software Many people mistake commercial and free software; they often get it the wrong way round. Above all, software is considered free from the moment the author grants the rights to modify, distribute and extract profits from the product. Free software may be commercial products as well. Good examples of commercial programs that are classified as free are the GNU ADA compiler or many GNU/Linux based operating systems. The opposite of free software is proprietary software, which can also be commercial or freeware. Freeware is the software licensing agreement that does not require any payments to the right holder. Freeware is usually distributed in binary form, without source codes and is regarded as proprietary software. Freeware, unlike shareware, does not involve any fee to the developer. No additional services, such as improved versions, are expected. Shareware is software with royalty-free (or reimbursable under certain conditions) use. Proprietary software is software that is the private property of authors or rights holders and does not satisfy the criteria of free software (the availability of open source code is not enough). The owner of proprietary software retains the monopoly on its use, copying and modification, in full or essential moments. Typically, any non-free software, including semi-free software, is called proprietary. For legal and technical reasons, the software is usually proprietary by default. Copyright laws operate by default, making non-trivial works proprietary. A custom program is a separate type of commercial program in which the customer pays for all the development work. Such programs are often deprived of all the advantages of commercial products, since they have a limited budget, but are more adapted to the requirements of the customer than out-of-the-box analogues.
Additional Terms of Software development
See more words
Networking Hardwear
Networking hardware is a set of devices necessary for the operation of a computer network, for example: a router, a switch, a hub, a patch panel, etc.   Active networking hardware is equipment containing electronic circuits receiving power from an electrical network or other sources and performing the functions of amplification, signal transformation, and others.  This means such equipment is able to process the signal by special algorithms. In the networks there is a package data transfer, each data package also contains technical information about its source, purpose, the integrity of information, etc, allowing to deliver the package to its destination. Active networking hardware includes the following types of devices: Network adapter - a card that is installed in the computer and provides its connection to the LAN; Repeater - a device, usually with two ports, designed to repeat the signal in order to increase the length of the network segment; Hub (active hub, multiport repeater) - a device with 4-32 ports, used to connect users to the network; Bridge - a device with 2 ports, usually used to combine several LAN (local area network) workgroups, allows you to filter network traffic by analyzing network (MAC) addresses; Switch - a device with several (4-32) ports, used to combine several LAN working groups (otherwise called multiport bridge); Router (router) - used to combine several  LAN workgroups, allows you to filter network traffic by analyzing network (IP) addresses; Retranslator - to create an advanced wireless network with a larger coverage area and is an alternative to a wired network. By default, the device operates in the signal amplification mode and acts as a relay station that catches the signal from the base network router or access point and transfers it to previously unavailable sites. Media converter - a device, usually with two ports, used to convert the data transfer medium (coaxial-twisted pair, twisted-pair optical fibre); A network transceiver is a device, usually with two ports, commonly used to convert the data format. A transceiver can be mentioned as a Medium Access Unit (MAU) in Ethernet network terminology. Additionally to this set of devices, to become a part of the network, a computer must have a network interface card (NIC). Mentioned above networking hardware can be called a set of computer networking devices or network equipment.  
(application programming interface) is a set of ready-made classes, procedures, functions, structures and constants provided by the application (library, service) or operating system for use in external software products. Programmers use this when writing all kinds of apps, in order to implement data exchange with external software in the most efficient manner. API as a way of app integration API defines the functionality that the program provides. If the program is treated as a control unit, then the API is a set of "knobs" that are available to the user and which he or she can tweak. Software components interact with each other through the API. In this case, components usually form a hierarchy - high-level components use APIs of low-level, and those in turn use APIs of lower-levels. API of operating systems. Problems related to API diversity. Almost all operating systems (UNIX, Windows, OS X, etc.) have an API, with which programmers can create applications for this operating system. The main API of operating systems is a number of system calls. In the software industry, common standard APIs for basic functionality have an important role, since they ensure that all programs that use the common API will work equally well, or at least in the usual way. In case of the GUI API, this means that the programs will have a similar user interface, which facilitates the process of mastering new software products. On the other hand, the differences in the APIs of different operating systems make it very difficult to transfer apps between platforms. However, there are various methods for circumventing this complexity - writing "intermediate" APIs (wxWidgets API API, GTK, etc.), writing libraries that display system calls of one OS to calls of another OS (runtime environments like Wine, cygwin and etc.), the introduction of coding standards in programming languages (for example, the standard C language library), writing of interpreted languages implemented on different platforms (perl, python, php, Java, etc.).
Material Design
- the design of software and applications for Android operating systems. First introduced at the Google I/O conference on June 25, 2014. Initially, within the company, it was invented under the codename "quantum paper.” The main metaphor of material design is flat paper, located in three-dimensional space. The idea of this design can be seen in applications that open and collapse like cards, using the effects of shadows. According to the idea of Google's designers, apps should not have sharp corners; cards should switch smoothly and almost imperceptibly. Material design in Applications The material design is used fully in the operating systems Android Lollipop, Android Marshmallow, Android Nougat, Android Oreo and also in some apps of previous versions. Why apps need a material design It serves two purposes: the standardisation of numerous products of the company; the unification of app user interfaces for Android. After the dominance of “skeuomorphism,” the web and the interfaces tilted toward a radical flattening, but it turned out to be just one more extreme. In order to be understandable and international, the objects of the interface should have an analogue, a metaphor in the real world. Such a metaphor was paper. Thin, flat, but located in three-dimensional space and having shadows, speed of movement, and acceleration. 4 principles of Material Design Material Design is based on four basic principles: Tactile surfaces. The interface is composed of tangible layers of so-called "digital paper". These layers are located at different heights and cast shadows on each other, which helps users to better understand the anatomy of the interface and the principle of interaction with it. Polygraphic design. If we count the layers as pieces of "digital paper", then, as regards "digital ink" (all that is depicted on "digital paper"), an approach is taken from traditional graphic design: for example, magazine and poster. Meaningful animation. In the real world, objects do not arise from nowhere and do not disappear into anywhere. Therefore, in Material Design, we always think about how to use the animation in layers and in "digital ink" to give users hints about the interface. Adaptive design. It's about how we apply the previous three concepts on different devices with different resolutions and screen sizes. The material design is one of the modern trends in the visualisation of mobile applications whose popularity is growing day by day.
View all IT-related terms
Results for "DEV"
Logo Magora LTD
Get in touch
Do you agree to the personal data processing?

Logo Magora LTD
Thank you very much.

Your registration to the webinar on the 27th of September at 2 p.m. BST was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"Let Smart Bots Speed up your Business"
Date: 27.09.2018 Time: 2 p.m. BST
Do you agree to the personal data processing?