📜 ⬆️ ⬇️

Release Webasyst 1.1.0

Webasyst (PHP framework for creating multi-user web applications and sites) has been upgraded to version 1.1.0 and has gone out of alpha version status.



About framework: site , github , demo backend . PHP / MySQL / jQuery / LGPL.
')
New opportunities:

- Application “Site” version 2.0, which makes a full-fledged CMS out of the framework
- Authorization of users in the frontend
- db.php: the possibility of replacing MySQL with another DBMS
- Universal design themes and CUSTOM design theme family
- Multiple improvements in the applications " Photo ", " Blog ", "To-do lists ", "Contacts", "Stickers", etc.
- Application Plugins
- Sitemaps

Under the cat more about the new features and the use of the framework as a CMS.

Application "Site" 2.0




The application "Site" allows you to manage the routing, edit design templates and static information pages. The page hierarchy is configured drag-n-drop (nesting is not limited).

The frontend is formed using the Smarty template engine, and Smarty can be used almost everywhere: in design templates, static pages, blog posts, embedded blocks. This makes it possible to easily place the content of one application inside another. For example, the {$wa->photos->photos('/tag/')} construction returns an array of photos with the “holidays” tag, and then this array can be easily rendered in the necessary layout, for example, in the body of a blog post or product description using {foreach}...{/foreach} .

Routing allows you to arbitrarily distribute the site address space between applications. It is very easy to create websites that work on the basis of several applications (for example, on the basis of the "Site", "Blog" and "Photos", store, forum).



Multi-site support is supported. Depending on the site (domain), the framework loads the necessary set of routing rules. To make it convenient to manage multiple sites in one installation, the backend interface allows you to customize the design of the application (background) for each site individually.



The framework differs from the classic CMS in that it does not impose a general design layout in which applications should be embedded in separate blocks. Routing is the unifying factor, and each application itself determines how it will look. The designer, creating a new theme for any application, focuses only on this application, and not on creating an abstract layout for all applications.

CUSTOM Design Theme Family


The ability to create universal themes that are suitable for many applications, too. This versatility is “non-rigid”: achieved by attaching to the parent theme, from which you can link images, CSS, and individual templates. For example, we created a family of themes CUSTOM, which use CSS and the general template index.html from the parent theme (the CUSTOM theme for the “Site” application is the parent theme). This is how the design theme looks for the “Photo” application:



By the way, we are looking for designers to develop beautiful themes for all Web-based applications: “Website”, “Blog”, “Photo”, new Shop-Script, etc. The themes of the design can be published in our application catalog, from which users can download and install yourself with one click (free at first, and in the future it will be possible to publish paid topics). Interested designers are invited to the address framework-ru@webasyst.com

User authorization in the frontend


To enable user registration and authorization functionality in your application, you need to create design templates signup.html, login.html, forgotpassword.html , and the framework will provide all the logic for working with users ( documentation ). The interface for working with users in the backend is implemented by the base application “Contacts”.

Authorization is supported through Facebook, Twitter, Vkontakte and Google.

db.php


Prior to version 1.1.0, each application declared the structure of the tables in the app.sql file, which, in essence, was created with a MySQL dump. We replaced app.sql with db.php with the description of the structure of tables in the form of an array, which allows us to move away from the tight binding to MySQL and reconfigure the framework with any DBMS in our applications.

Application Plugins


Allow the developer to immediately provide the possibility of expanding the functionality of your application with plug-ins. The developer puts the hooks in the application, and the framework connects the necessary plug-in for the desired event ( documentation ).

Sitemaps


The framework automatically creates an XML sitemap for all applications used (hosted on this site). An application to integrate with a sitemap is simple: you need to declare pages available for indexing as an array ( documentation ).

Multiple improvements


Compared with the alpha version, which we wrote about in Habré in the summer of 2011, many new things appeared in the framework: user access rights, caching, CSS tools for building the backend interface, mobile version of the backend, etc. All the improvements - and this is a few thousand commits - will be cumbersome to enumerate.

Download the framework: http://www.webasyst.com/en/framework/
GitHub: https://github.com/webasyst/webasyst-framework
Demo backend (not installed in the demo “Site”): http://demo-ru.webasyst.com/webasyst/
Ready applications: http://www.webasyst.com/ru/apps/

Also try the CSS UI sandbox: http://www.webasyst.com/ru/framework/docs/dev/ui/

Soon we plan to release an API, a completely new Shop-Script (expected at the end of 2012), various useful applications such as Mailing List, Support, Calendar, etc.

We will be grateful for constructive comments and suggestions for further improvements (including suggestions for future applications, by the way).

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


All Articles