📜 ⬆️ ⬇️

Pagekit: Symfony Modular CMS Review

Pagekit: Symfony Modular CMS Review

Meet: Pagekit is a new modular CMS from German studio-maker of templates YOOtheme, based on symfony components, as well as Vue.js, Webpack, Doctrine and other modern technologies. Pagekit was conceived as a combination of simplicity in management with flexible possibilities for development - something that the well-known PHP-based CMS lacks and has many anachronisms.

Pagekit is initially positioned as a platform in which modern web programming techniques are used, and therefore having a high threshold of entry, which can be noted as an undoubted advantage because it will filter out developers with insufficient qualifications, producing products of dubious quality, which is observed on systems with a low threshold of entry . This means that people who have a certain understanding of code culture and are familiar with modern technologies or have enough training to study them while they are familiar with Pagekit will be engaged in writing extensions.

Official Pagekit website .
Project on Github.
')
This review was prepared in order to familiarize the audience with the new CMS, its capabilities and prospects.

New technologies - new opportunities


More than a year ago, the alpha version 0.8 was presented to the public. During this time, the developers refactored, made a large number of improvements, changed the API and significantly reworked the platform. With the release of version 0.10, the following changes occurred:


In addition, it should be noted the lack of compatibility between alpha and beta versions, as well as the migrator, so if you created a test site, you will have to reassemble it and transfer the content manually. Which, in other words, is logical: after all, it was an alpha version that is not suitable for use on production sites.

Architecture

Pagekit's extensible architecture is based on popular Symfony components that have become the de facto standard in modern PHP applications. Dependencies are managed through Composer, which allows the libraries to be used to declare dependencies and simplifies writing code. Doctrine is implemented out of the box - an object-relational mapping (ORM) mechanism for PHP version 5.3 and higher, which allows you to work with the database as transparently as possible.

As a project collector, the Webpack is now used, according to experts, a breath of fresh air after Grunt. The advantage of the multi-threaded Webpack collector is its incredibly fast performance, which will be appreciated by the developers.

The user interface is based on Vue.js , a lightweight and flexible front-end framework that provides MVVM data connections through an API and is superior in simplicity and performance to more well-known counterparts. If you are familiar with Angular, you will surely love Vue.js. In addition, Jquery is connected by default.

And finally, UIkit is used as a front-end framework - a lightweight framework from the same studio, which is an alternative to Bootstrap primarily due to its small size and functionality that is not inferior in its capabilities.

Installation

The installer is pleased with a pleasant and intuitive interface, where everything is simple and clear. First, the system suggests choosing an installation language. The next step is to connect the database with a typical set of input fields. Next you need to have a user - the site administrator. The final step is to enter the site name and its description. In general, nothing complicated.

The system requirements of Pagekit can be found here .



User interface

After logging in to the admin panel you will be able to access the interface for managing the site. Developers took the path of simplification, but they were too clever and complicated the hierarchy. As a rule, the logical chain should be intuitively understandable based on the names: general settings, widgets or installation section. In the list of extensions, it would not hurt to display the type (plugin, widget, etc.).





Update - it is more logical to transfer to Settings as part of the system core. In other matters, this particular. Global problem - the name of the menu items of the administration panel (for example, Settings is better called Global settings) and implicit hierarchy. In my subjective opinion, the admin interface is the weakest link in the system. While working with Pagekit, I was not used to the interface, making unnecessary clicks in finding the right section (for example, do I need to install the plugin - is it Site or System? Actually, but the confusion is constant due to the implicit section names)

Editor

Nice and convenient markdown editor (hello to bloggers). You can turn off the markdown mode and work with html tags and, of course, there is a preview mode. Inserting images into the editor will not be difficult; in image loading mode, just drag the image from the desktop with the mouse and it will be instantly flooded. Conveniently.

Among the disadvantages when working with content, I note the absence of Meta-description meta-keywords and title parameters that a user could manage, which is important for website promotion. In addition, while there is no taxonomy as part of the application as a whole. Materials are published in the blog section without the possibility of selecting categories.



Built-in market

An interestingly implemented extension catalog for Pagekit. You will not find a section on the CMS website with a list of all existing extensions. They are available only through the built-in Pagekit market. For a start, this is not bad, but what will happen when the number of extensions exceeds 100? It is more convenient to calmly find the necessary add-on on the official site, familiarize yourself with its description, and when working with the site, install it immediately.

In the current implementation of the market is not enough separation of extensions into categories. It would be convenient to navigate. Now all add-ons are displayed in one list. In addition, it does not interfere with displaying a link to the demo and to the product page in the market.
Extensions are installed in several ways: the installation package is downloaded from the repository, after which it is unpacked and installed. It is also possible to install the installation package in the classic way (if there is an archive).



Localization and documentation

Currently, more than 20 localizations into various languages ​​are ready and a number of other localizations are in the process of translation (the project on Transifex ). Documentation is available for developers, including video tutorials. If you decide to write your own extension for Pagekit, all the basic information is available. In addition, online translation of documents into Russian can be found.

Development and prospects


Web technologies are developing at a rapid pace and their proper application is the key to success. However, time often works against developers, since any delay means a decline in interest from interested parties. And it is important to catch the moment, being on a wave of interest and use the credit of trust.

Technology without marketing is doomed
The history is full of examples of unique technological solutions that could occupy a worthy place in the market, but because of a failed marketing strategy, worthy developments turned out to be simply unnoticed and lost relevance.
At the same time, the initially technologically weak product, with proper marketing and proper positioning, occupies strong positions and a niche, displacing competitors, because it gives users what they expect. In this case, the product can technologically develop at a slow pace, but benefit from the dynamics of the community. Developers of such a system can be called saddled wave.

Now back to Pagekit. As can be seen from this review, the development team is enthusiastic and is working on the technological development of CMS. This is a really exciting and promising project. However, technology is not enough for success. Pagekit needs a powerful infrastructure and a strong community that will make the platform attractive to both third-party developers and the end user. Of course, now the platform is only being formed, and still ahead, but to achieve success it is necessary to solve the following tasks:

Positioning As you know, to solve each problem it is better to use your CMS. Wordpress is convenient for a blog, specialized solutions for online commerce, a whole CMS constellation is suitable for a corporate site, and Drupal is good for a portal, etc. on the example of Ghost, we saw how a new CMS can press a little titanium Wordpress. In the future, you need to answer the question: What are the goals and objectives of Pagekit? If the platform is focused on the end user, then you need to give it ready-made solutions, examples and documentation. If the platform is focused more on developers, you need to build an appropriate ideology. I will suggest that Pagekit will still be more oriented towards developers, since this audience is closer, it is more interesting to interact with it, and, besides, a high threshold for entering into the technologies used will protect Pagekit from widgets of dubious quality.

Infrastructure. Building infrastructure covering various areas from documentation to a catalog of extensions and involving enthusiasts in the development process of the platform. The work, in other matters, is moving in this direction as far as the development team is concerned, and currently they are actively working on the documentation section with video examples.

Community. The life of any CMS is its users. The more users will be keen on Pagekit, the better the result will be. To do this, you need to prepare a friendly environment in which you would like to return again and again. Essentially, what do users need? Get a solution. And the developers - so that their contribution does not go unnoticed. Github is too narrowly specialized service and will not bring moral satisfaction to third-party contributors, whose contributions will go unnoticed. Gitter chat and Twitter are not suitable for serious discussion - this is good for solving short-term issues, but not suitable for discussing serious topics. We need a forum where the issues under discussion will be divided by topic, in addition, each of the participants will be able to build a certain reputation.

Roadmap. Approximate terms of release and plans for the implementation of the functional - that is more interested in users of the system, already working with the product. Moreover, it would be more convenient to view the chronology from the beginning to the current moment on a separate page.

Popularization Perhaps the key point for any product that requires constant attention and resources. In this direction, YOOtheme does some work: the name Pagekit sounds at some Symfony conferences in Europe: either the CMS is presented as a stand, or Pagekit acts as a sponsor.

Why should you get carried away by Pagekit?


At the time of this review, the current version is 0.10.1 (close to stable) and is not recommended for use on work sites. However, developers should pay attention to Pagekit and explore the capabilities of this platform, since the flexible architecture and the use of advanced technologies provide a powerful tool for developing the Symfony framework and its elements. The existing development environment is quite suitable for writing narrowly focused solutions that, in the long run, can turn into full-fledged third-party products for this CMS.

Source: https://habr.com/ru/post/274631/


All Articles