Releases: modxcms/evolution
Evolution CMS 3.0 RC3
Registration for the online presentation of Evolution CMS 3.0
What's new in EVO 3 ?
Evolution CMS 3.0 RC3
- Update to Laravel 8
- Add TVs for Users
- evo() short name for evolutionCMS() ($modx = $evo();)
- Now work in BLADE: @auth, @guest, @csrf
- Add Auth facade who work like Laravel Auth
- add Laravel Http
- New command for update: artisan make:site update 3.x
- add middleware VerifyCsrfToken
- work on php 8
Evolution CMS 3.0 RC2
- Laravel routing for ajax or custom routing with Validator, Request, Response
- Merge Webusers and Managers to Users
- Full refactor work with Users and Roles
- Rewrite langs on Laravel Style
- Optimization of speed
- Add console Extras
- Add console command for full cache clear
more info: https://github.com/evolution-cms/evolution/releases/tag/3.0RC2
Evolution CMS 3.0 RC
- PostgreSQL support
- Redis sessions support
- Install/Update by migrations
- Install/Update by CLI
- Docker support
- Controllers support in core
- Closure Table
- DLSiteContent
- Remove from core unused elements (Messages, Import, Export)
- Move to Extras (DocLister, DocInfo, Summary, Phpthumb, DLCrumb, DLMenu, DLSitemap, FormLister, If, Doc Manager, ElementInTree, FileSource, Quick Manager+)
- Remove Demo site
- Create \helpers::phpthumb ({{\Helper::phpThumb('assets/images/evo-logo.png', 'w=150,h=76,far=C,bg=FFFFFF')}})
- Tracy add new type (manager/admin/adminfrontonly/managerfrontonly)
- Refactor Tracy dump and bdump functions for show all depth of data
- Add cache to get documentObject
more info: https://github.com/evolution-cms/evolution/releases/tag/3.0RC
Evolution CMS 2.0.1
About Evolution 2.0 read there:
https://github.com/evolution-cms/evolution/releases/tag/2.0.0-alpha
https://github.com/evolution-cms/evolution/releases/tag/2.0.0-RC
https://github.com/evolution-cms/evolution/releases/tag/2.0
New feature:
Now we can use DynamicRelation:
SiteContent::addDynamicRelation('comments', function (SiteContent $myModel) {
return $myModel->hasMany(Comments::class);
});
Example: https://github.com/Ser1ous/evocms-comments
Video(ru): https://www.youtube.com/watch?v=gJj05HwOm0A
Lib: https://github.com/i-rocky/eloquent-dynamic-relation
Change log:
- Update DocLister
- fix: manager fix change theme (Serious)
- fix: #1271 childrens should be children (Dmi3yy)
- fix: #1294 Bad layout on page template-bound resources (Dmi3yy)
- fix: Lang issue & #1272 (Dmi3yy)
- fix: forgot ->db-> #1265 (Dmi3yy)
- fix: issets are need in codemirror plugin #1264 (Dmi3yy)
- fix: needs isset #1263 (Dmi3yy)
- fix: getDocumentObject method (Pathologic)
- fix: need use correct cachekey with event and GET (Dmi3yy)
- fix: manager theme bug (Dmi3yy)
- fix: styles anв icons (Ruslan Aleev)
- fix: tree icon for private resource (Mr B)
- fix: No hint path defined for [cache] (Pathologic)
- fix: Corrected lexicons, Corrected output of lexicons in template (Ruslan Aleev)
- fix: send mail to manager e-mail. (Yevhen Lebediev)
- fix: demo site install (Pathologic)
- fix: fullscreen tinymce hiding buttons (Mr B)
- fix: parse plugin params (dzhuryn.volodymyr)
- refactor: htaccess add rules for remove // #1239 fix (Dmi3yy)
- new: (core) Add Dynamic Relation (Ser1ous)
1.4.7
Bug fix release
1.4.4
Most interesting in this release:
- Redesigned login page, as well as the added opportunity in the settings to specify the logo and background for this page
- Added change of menu position: Top / left (can be changed in settings)
- Fixed problem with scrolling on iOS devices
- Added mobile mode for tinyMCE4
- fixed problem (HTTP2 / SSL & check connection to server)
- Singleton: instead of using global $ modx; it is recommended to use $ modx = EvolutionCMS ();
- Fixed bug in the OnParseProperties event
- TVs that are without a category remain in the local tab (when using the settings for moving TV)
- Cross-Site Scripting https://www.exploit-db.com/exploits/44775/ Site name field XSS fix
- Added support for Ctr + Alt + L for PhpStorm
- fixed MySql strict mode error in the admin area
- Added events for publication and removal of publication of documents
- Reduced the size of the log that phpmailer produces on error
- Now you can return data from different types of plug-ins, not just lines
- Added OnBeforeMinifyCss event
- Automatic set from in mail from the system settings if not specified
1.4.2
Now you can install from comand line with composer:
composer create-project evolutioncms/evolution
- php cli-install.php --database_server=localhost --database=db --database_user=dbuser --database_password=dbpass --table_prefix=evo_ --cmsadmin=admin --cmsadminemail=[email protected] --cmspassword=123456 --language=ru --mode=new --installData=n --removeInstall=y (dmi3yy)
- run install file (dmi3yy)
- Install Evo from console: (https://monosnap.com/file/Tj21cmlMhZXNJdRXfKBLAvTlJcElkJ) (dmi3yy)
- fix for use html tags in name (dmi3yy)
- [F] #577 Fix "undefined index"-notice (Deesen)
- [C] #577 TinyMCE4 code clean-up (Deesen)
- fix (document.parser.class.inc.php) sendStrictURI (Ruslan)
- modernize default theme (Serg)
- Globat Tabs by Default On (dmi3yy)
- add .tpl for create file from filemanager (dmi3yy)
- correct getTpl (Serg)
- add composer.json (dmi3yy)
- fix lang error (dmi3yy)
- update DocLister and FormLister (dmi3yy)
- fix escapeshellarg disabled for security reason (dmi3yy)
- Update english.inc.php (Mr B)
- Update mainmenu.php (Mr B)
- fix #559 Zend OPcache API is restricted by "restrict_api" configuration directive (Pathologic)
- fix #563 Error when upgrading to 'phpmailer sender property' commit(Pathologic)
- phpmailer sender property (Pathologic)
- fix only variables can be passed by reference (Pathologic)
- log only public properties of MODxMailer (Pathologic)
1.4.0
Evolution CMS 1.4.0
For half a year, a lot of work has been done (more than 600 commits), so this is the second major release of Evolution CMS. The first one can be read here (https://github.com/evolution-cms/evolution/releases/tag/1.3.0). The main emphasis of this release is stability of the system, as well as updating and replacing old snippets by new ones. So it is possible now to create sites even faster, as well increasing the performance of already existing sites. One main reason for better performance is DocLister, the replacement for Ditto.
Most important facts:
- Demo Site has been updated, all old components have been replaced by new ones, while old components are still available in the extras-repository, but are not recommended for use.
- Ditto -> DocLister
- Wayfinder -> DLMenu
- Breadcrumbs -> DLCrumbs
- Eform -> FormLister
- WebLogin -> FormLister
- WebChangePwd -> FormLister
- WebSignup -> FormLister
- Added DLSitemap
- AjaxSearch moved to Extras
- FirstChildRedirect moved to Extras
- Jot moved to Extras
- MemberCheck moved to Extras
- Personalize moved to Extras
- Reflect moved to Extras
- UltimateParent moved to Extras
- Upgraded phpMailer to 6.0.3
- New feature "Global tabs"
- Grinding TV
- Widget changes the color scheme of the admin area, the button is fullscreen and creates a new document in the menu
- Modifiers disabled by default
- At-Syntax (@-syntax) disabled by default
- New
$modx->clearCache($docid)
- Custom Placeholders get replaced before TVs - allows {{chunk? ¶m=
xxx
}} with [tv_name_[+param+]] as content inside (useful in conjunction with YAMS) - added CSS-minify to manager theme
- Fixed popup window from the context menu. Closing a popup window when "saving" or button press "cancel". Hot keys: Esc->Close, Ctrl+S -> Save, Ctrl+Q -> Save and quit (if focus is in codeMirror editor)
- friendly_url_suffix = / and aliaslistingfolder
- fixed special chars in passwords via htmlspecialchars()
Upgrade to version 1.4
In order to correctly update from older versions and also exclude the possibility, that there are unnecessary files and security problems left on the site, do the following:
- Do Backup files and DB
- Update to version 1.3.6 - it includes all the old add-ons that were removed in 1.4.0, it provides the opportunity to update all add-ons such as Ditto, EForm, WebLogin
- Delete all the old admin themes (manager / media / style), except "default" and "common"
- Delete the file index-ajax.php - it was used only for AjaxSearch prior to version 1.0.10, leave if you use it for other purposes and you know what you are doing.
- As well as to remove garbage to the maximum, you need to delete the manager folder after making a backup of the file
manager/includes/config.inc.php
, then copy files from version 1.4.0 - We strongly recommend that you remove all unused old snippets such as: Ditto, Wayfinder, Eform, Breadcrumbs, WebLogin, WebChangePwd, WebSignup
- There is a problem when updating the ManagerManager plug-in from older versions, to solve the problem delete the managermanager folder and install/copy latest version
- TinyMCE3: It is also recommended to disable and delete all its files if you do not use it.
- If you use Modifiers and/or @-syntax then check in the settings if they are enabled. By default in 1.4 these options are disabled.
- If the site is very old, it is recommended to check your server-files for viruses: https://revisium.com/ai/
Replacing old snippets with new ones
- As an example, you can install Evo with a demo site, which is already using new snippets.
- To migrate from Ditto to DocLister, the following examples will help:
- http://docs.evo.im/03_extras/doclister.html
- http://www.evolution-docs.com/extras/doclister/main-parameters
- https://github.com/Nicola1971/Doclister-Tags-in-Ditto-Style
- https://github.com/Nicola1971/Ditto-to-DocLister-Reference-Tables
- To migrate from Wayfinder to DLMenu
- To migrate from BreadCrumbs to DLCrumbs
- To migrate from Eform, WebLogin to FormLister
Future plans for version 1.5
- One main goal is to be able to update everything completely by using Extras, adding the ability to not only install add-ons but also uninstall them clean.
- Integrating Extras into the installation-process, with a recommended set of add-ons preselected by default, and the option to disable add-ons that are not required. This way the Evo main-package will be significantly smaller, and unnecessary files will not clutter your installation.
- This allows to install all add-ons from Extras already in the initial installation-process
- Appearance of the admin area: Updating Bootstrap to version 4, as well as fontAwesone + making it possible to use. Create a basic template in which all the elements of the admin area are given, so you can create and use your own themes, to allow custom concepts of the admin area.
- Also planned: Rebuild the admin on a twig template that will give even more flexibility, for example, change the look of the page without using ManagerManager, which can slow down performance in case there are too many TV parameters. Let´s see how it works out.
1.3.5
1.3.5
[F] ElementsInTree restyled for new theme, version 1.5.8 (Piotr Matysiak)
[F] Fix - Problem of complicate nesting <@if><@elseif><@else><@endif>
(yamamoto)
[F] Fix Bugs in Ditto with date and placeholders from version 1.3.4 (yamamoto, Dmi3yy)
[F] Fix tinymce params underfined bug on frontend (dmi3yy)
[F] Fix #65 Plugin parameters are lost after update to the new version (dmi3yy)
[C] no need update.php in extras module (dmi3yy)
[F] variable documentDirty (64j)
[R] Make sortable list more condensed (Piotr Matysiak)
[F] #187 Ditto is missing placeholders when built-in filters are enabled (yamamoto)
[F] saved roles users #130 (64j)
[F] #192 evo.checkConnectionToServer function (64j)
1.3.4
update FormLister to 1.7.8 (dmi3yy)
update DocLister to 1.3.11 (dmi3yy)
@file for chunks - {{@file:assets/chunks/header.html}}
remove mootols from manage category
added disable/enable snippets and chuncks #126
Depricated keywords and metatags (not used by default from 1.0.8 version) use TV for this.
new settings for group TVs (http://take.ms/OmFYb)
add header("X-XSS-Protection: 0"); for correct work filamanager.
Add DLSitemap and DLMenu snippets
Remove DLBuildMenu
Refactor manager search and fix permision for this
remove etomite "compatibility"
New - $modx->config['enable_cache']
New - [value:makeUrl] modifier
As well as bug fixes, for a complete list of changes, see the changelog
New - <@literal>[any tags] {{any chunk}} [[any call]]<@ENDLITERAL> Display tags as it is (block)
New - [*any tags*] {{any chunk}} [[any call]] Display tags as it is (inline)
New - {{ any chunk }} Display chunk call as it is
1.3.3
[GitHub:#f83719a0] - [F] fix for multiTV<10.0.12 (need branch name Evolution) (dmi3yy)
[GitHub:#3ac1ef3f] - [F] fix issues #73 update login form (64j)
[GitHub:#c469b0ed] - [I] Update README.md add version informer (Dmytro Lukianenko)
[GitHub:#aa00f6c8] - [F] fix issues #71 (64j)
[GitHub:#2c71ff6a] - [F] update Readme add php informer (Anton Kolesnikov)
[GitHub:#900854ba] - [F] fix issues #66 format code (64j)
[GitHub:#ee27d087] - [C] remove unused files DLUsers (dmi3yy)
[GitHub:#d4c67e6a] - [I] FormLister need PHP >= 5.6 (Anton Kolesnikov)
[GitHub:#8e4594f8] - [F] fix issues #72 forma code (64j)
1.3.2
[GitHub:#a8fc2fdf] - [F] updater plugin (dmi3yy)
[GitHub:#ad14254c] - [F] fix #75 (Pathologic)
[GitHub:#d29faf9a] - [R] refactor sortableList (64j)
[GitHub:#ffa63034] - [F] fix #68 (for hide widget better use $widgets['welcome']['hide'] = 1;) (dmi3yy)
1.3.1
[F] DocLister 2.3.5 fix paginate (dmi3yy)
[F] version in top menu (dmi3yy)
1.3.0
EVOLUTION CMS 1.3.0
The new release of EVO 1.3.0 runs under the name EVOLUTION CMS. Now updates will be released more often. About once a month there will be a fresh release instead of 1 release at half a year.
Just say a few words about future plans:
- Starting with the current version we will have the correct versioning: http://semver.org/lang/ru/ I think this will be much more convenient and correct.
- In the near future, work with the documentation site will be finished: docs.evo.im, and there will be a video of how to help with the documentation so that we can have everything in one place. Also, the documentation will be multilanguage.
- Many additions from the kernel to the repository will be moved.
- On the part of admin: removing mootools, translating them all in html and bootstrap.
- Also in the plans of integrating composer and much more will be added soon to the roadmap.
What's new in 1.3.0:
- New name and logo
- min version php is 5.4
- Correction of errors and stability
- New admin panel theme with a lot of innovations:
- Drag & drop in the document tree
- Dark style, quickly switching the appearance of the admin system
- Easier and faster
- Context menu for elements
- Ajax search in the admin area
- Remembering paths in admin panel
- 3 Level menu items with search and the ability to create a new item
- Support for mobile devices, although there is still some work in progress
- Widgets for the main page (OnManagerWelcomeHome)
- Change the top menu (OnManagerMenuPrerender)
- Document tree changes (OnManagerNodePrerender)
In details the new features:
New logo:
Many thanks to the company and SKY INCOM (https://www.skyname.net) for the development of the logo:
Changelog 1.2.2
- delete all theme except the default
- fix style in the default theme
- fix showChildren in tree
- fix #60 Shrinking browser width results in site tree overlay
- fix #62 Edit date on dashboard recently edit/created panel is wrapped
- new plugin Updater (For update evo from admin panel)
- Fixed display of navigation for managers with different rights
New Manager Theme
Switch theme with a button above the tree of elements near the basket
Significantly speed up the load of the manager for example the main page size is less than 740kb
And loaded in 0.2 seconds. It used to be: 1 meg and 0.8 seconds, and also removed 1 second of waiting after saving the document!
Now it's more convenient to work with elements in templates and chunks, because you can quickly go to the edit or create a new element
Search in the admin panel now AJAX + is looking not only for documents that makes it easier to develop and navigate, in the top menu all the elements are displayed at once that speeds up the work. In addition to drag & drop in the resource tree now the page does not reload the main page.
Widget for Dashboards (OnManagerWelcomeHome):
Completely redone the work with widgets, simplified their addition and also left a reserve for the future so that you could build a user-friendly interface for the manager.
Widget example:
$e = &$modx->Event;
switch($e->name){
case 'OnManagerWelcomeHome':
//if($_SESSION['mgrRole']!=='2') return;
//unset($widgets['welcome']);
//unset($widgets['onlineinfo']);
//unset($widgets['recentinfo']);
//unset($widgets['news']);
//unset($widgets['security']);
$widgets['test'] = array(
'menuindex' =>'1',
'id' => 'test',
'cols' => 'col-sm-6',
'icon' => 'fa-rss',
'title' => 'test',
'body' => '<div class="card-body">[+modx_news_content+]</div>'
);
$e->output(serialize($widgets));
break;
}
Widgets can be added in different plug-ins, there is no need to configure all widgets in one plug-in. Also in the future I think we will create a module or plug-in for easy customization by the user. In previous versions, there was a problem that the admin could not customize the widgets for the manager, since the settings were stored in localstorage. Now with this there are no problems.
Change main menu (OnManagerMenuPrerender):
The upper menu can be changed, according to the logic with the top menu and did the work of the widgets, below is the code example:
$e = &$modx->Event;
switch($e->name){
case 'OnManagerWelcomeHome':
//if($_SESSION['mgrRole']!=='2') return;
//$widgets['welcome']['hide']='1';
//$widgets['onlineinfo']['hide']='1';
//$widgets['recentinfo']['hide']='1';
//$widgets['news']['hide']='1';
//$widgets['security']['hide']='1';
$widgets['test'] = array(
'menuindex' =>'1',
'id' => 'test',
'cols' => 'col-sm-6',
'icon' => 'fa-rss',
'title' => 'test',
'body' => '<div class="card-body">[+modx_news_content+]</div>',
'hide'=>'0'
);
$e->output(serialize($widgets));
break;
}
The only thing I notice is that if there are several plug-ins, deleting of element should be done in the last plug-in, you can add anything.
Change the documents in the tree as well as the context menu (OnManagerNodePrerender):
With this function you can change the behavior and appearance of resources in the tree, change the icon, click on the button to go to the module (For example, you can easily implement the Collections functionality from MODX REVOLUTION), you can also change the context menu that would be more understandable for example on the news section of the standard place Context menu to display: add news, all news.
Example plugin code:
$e = &$modx->Event;
switch($e->name){
case 'OnManagerNodePrerender':
if($ph['id'] == '2'){
//Change icons for doc with id 2
$ph['icon'] = "<i class='fa fa-address-card-o'></i>";
$ph['icon_folder_open'] = "<i class='fa fa-address-card-o'></i>";
$ph['icon_folder_close'] = "<i class='fa fa-address-card-o'></i>";
$modx->logEvent(123, 1, '<pre>- '.print_r($ph, true).' -</pre>', 'ph info'. $ph['id']);
}
if($ph['id'] == '15'){
//Hide child documents + change the icon + write to the variable variables m ph that would look what you can change
$ph['icon'] = "<i class='fa fa-list'></i>";
$ph['icon_folder_open'] = "<i class='fa fa-list-alt'></i>";
$ph['icon_folder_close'] = "<i class='fa fa-list-ul'></i>";
$ph['showChildren'] = '0';
$ph['tree_page_click'] = 'index.php?a=3&id='.$ph['id'].'&tab=1';
//Its custom menu for example took a standard that would be understandable what to change
$ph['contextmenu'] = array(
'header1' => array(
'innerText' => $ph['nodetitle'],
),
'item3' => array(
'innerHTML' => '<i class="fa fa-file-o fa-fw fa-lg"></i> Child resource',
'title' => 'Child resource',
'id' => 'item3',
'onclick' => "modx.tree.menuHandler(3);",
),
'item2' => array(
'innerHTML' => '<i class="fa fa-pencil-square-o fa-fw fa-lg"></i> Edit',
'title' => 'Edit',
'id' => 'item2',
'onclick' => "modx.tree.menuHandler(2);",
),
'item5' => array(
'innerHTML' => '<i class="fa fa-arrows fa-fw fa-lg"></i> Move',
'title' => 'Move',
'id' => 'item5',
'onclick' => "modx.tree.menuHandler(5);",
),
'item7' => array(
'innerHTML' => '<i class="fa fa-clone fa-fw fa-lg"></i> Make a copy',
'title' => 'Make a copy',
'id' => 'item7',
'onclick' => "modx.tree.menuHandler(7);",
),
'item11' => array(
'innerHTML' => '<i class="fa fa-sort-numeric-asc fa-fw fa-lg"></i> Sort by menu item',
'title' => 'Sort by menu item',
'id' => 'item11',
'onclick' => "modx.tree.menuHandler(11);",
),
'seperator' => '',
'item9' => array(
'innerHTML' => '<i class="fa fa-arrow-up fa-fw fa-lg"></i> Publish',
'title' => 'Publish',
'id' => 'item9',
'onclick' => "modx.tree.menuHandler(9);",
),
'item10' => array(
'innerHTML' => '<i class="fa fa-arrow-down fa-fw fa-lg"></i> Unpublish',
'title' => 'Unpublish',
'id' => 'item10',
'onclick' => "modx.tree.menuH...
MODX Evolution 1.2.2
Important info:
Next release 1.3 will be with name "Evolution CMS" in new gitHub repositories: https://github.com/evolution-cms/evolution
More about new name you can read there: https://modx.com/blog/evolution-cms-has-a-new-home
Important Changes:
- min php version is 5.4
- recomended 5.6
- best work on php 7
Commit-Statistic:
- More then 500 commits
- More then 1000 files changed
MODX Evolution 1.2.2 credits go out to:
(ordered by number of contributions)
- Dmytro Lukianenko (Dmi3yy) https://github.com/dmi3yy
- Serg (64j) https://github.com/64j/
- Mananori Yamamoto (yama) https://github.com/yama
- Piotr Matysiak (pmfx) https://github.com/pmfx
- Maxim (Pathologic) https://github.com/pathologic
- Nicola Lambathakis (Nicola1971) https://github.com/Nicola1971
- Sergey Davydov (MrSwed) https://github.com/MrSwed
- Sunhaim (sunhaim) https://github.com/sunhaim
- Dennis Helfensteller (Deesen) https://github.com/Deesen
- Sergey Saveliev (atomoc) https://github.com/atomoc
- Bossloper https://github.com/bossloper
MODX Evolution 1.2.1
This release is a security- and bugfix-only release means no new major improvements have been added.
According to CVE-2016-10033 and CVE-2016-10045 phpMailer has been updated to latest v5.2.21, although this CVE normally does not affect MODX Evolution as we do not use phpMailer´s internal validation.
Important Changes
-
PHP directive register_globals must be turned off to use MODX Evolution 1.2.1
-
evobabel should be updated to v0.21 to enable parsing evobabel-placeholders [%ph%] inside snippet-params like
[[Wayfinder? &startId=
[%lang%]
..]] -
Improved debug-infos for
$modx->dumpSnippets
##Commit-Statistic
Fix: 102
Refactor: 45
Improvement: 32
Other / miscellaneous: 3
Code clean-up: 1
Remove: 3
Security: 3
TOTAL: 189
##MODX Evolution 1.2.1 credits go out to
(ordered by number of contributions)
- Mananori Yamamoto (yama) https://github.com/yama
- Dennis Helfensteller (Deesen) https://github.com/Deesen
- Dmytro Lukianenko (Dmi3yy) https://github.com/dmi3yy
- Bossloper https://github.com/bossloper
- Nicola Lambathakis (Nicola1971) https://github.com/Nicola1971
- Piotr Matysiak (pmfx) https://github.com/pmfx
- fourroses666, MrSwed, sashabeep, kulmjens