Greetings friends, I’m Ali, I just met Modx. I used to use Cotonti and I was very used to it and I was using cotonti in my projects (I hate Wordpress ) but Cotonti has not been offering support and development for many years.
Now I’m looking for a new cmf and I met Modx by chance, I just installed it for the first time, actually the foundation seems to be good, but when I came from Cotonti, I realized that it has a very complex structure I live in Turkey and there is not much Turkish documentation and content, even the modx turkey forum has been closed for almost 15 years.
Now what would be your suggestions for me? I started directly with the latest version 3x, would this be an advantage or disadvantage for me or should I start with the older ones and upgrade step by step.
There are many errors in the Turkish language file and I would be happy to help fix them. I will submit an update for the Turkish language file on Github, I hope it will be accepted.
What advice would you give me to a person who is used to a simpler structure coming from Cotonti
Thank you for your answer, I do my own translation for language files, file based. I don’t use crowdin.
Modx’s file structure is very different, nothing like Cotonti
I also want to do something about Turkish support, maybe I can translate Turkish documents. But first I have to master Modx myself, it would be good for me to know it when I tell people.
Welcome to Modx. If you hate WP, you will LOVE modX… but you will hate not knowing the correct way to spell ModX
A quick chat with AI helps:
Moving from Cotonti to MODX can be a significant transition, as MODX provides a more modular, extensible, and developer-friendly environment. Here’s some key advice to smooth the transition:
Understanding MODX’s Core Structure
Resources replace Cotonti’s page system. Each MODX resource can be a page, a link, or even a hidden container.
Chunks serve as reusable HTML components, similar to Cotonti’s snippets but more flexible.
Template Variables (TVs) allow dynamic content customization within templates.
Snippets in MODX are equivalent to Cotonti’s plugins for executing PHP code dynamically.
Template System Differences
In Cotonti, templates are typically pre-built with strict structures, whereas MODX offers full control over how templates interact with content.
Learn MODX’s Templating Syntax ([[*field]], [[!snippet]], [[+placeholder]]) for dynamic rendering.
Use TVs strategically to replace Cotonti’s template fields.
Plugin & Module Management
Cotonti relies on modules; MODX has Extras (addons) via Package Management.
The MODX event-driven plugin system allows greater flexibility for modifying core behavior.
MODX Revolution relies heavily on custom snippets instead of predefined modules.
Database Structure Shifts
Cotonti: Focuses on predefined fields tied to database tables.
MODX: Uses a more abstract database model, where modx_site_content, modx_site_tmplvar_contentvalues, and modx_site_tmplvars manage content dynamically.
SQL Queries: Expect differences when fetching data dynamically—MODX prefers its xPDO ORM system for efficient querying.
URL Routing & SEO
Cotonti: Uses structured URL paths (sometimes more rigid).
MODX: Gives full control with Friendly URLs (.htaccess rules, modx_alias_map).
SEO Benefits: MODX allows custom URL aliasing, redirects, structured metadata via TVs and Extras.
Learning MODX APIs
Cotonti developers used direct PHP coding, while MODX encourages xPDO ORM, RESTful APIs, and dependency injection.
Learn how to fetch and manipulate resources dynamically:
$resource = $modx->getObject(‘modResource’, [‘alias’ => ‘about-us’]);
echo $resource->get(‘pagetitle’);
Event-driven development: Consider hooking into OnBeforeDocSave or OnWebPageInit for dynamic behaviors.
Migrating Data
Use CSV exports or custom migration scripts for transferring structured content from Cotonti databases to MODX.
Automate TV assignments using batch operations in modx_site_tmplvar_contentvalues.
Security Enhancements
MODX offers more fine-grained access control, unlike Cotonti’s user roles.
Learn Context permissions (modx_user_group_roles, modx_access_policies) for stronger ACL management.
Use MODX’s built-in cache management (LiteSpeed, Redis) for improved performance.
Final Thought
MODX brings flexibility, scalability, and extensibility beyond Cotonti’s predefined structure. Embrace its modular templating system, dynamic content management, and strong API integrations to make the most of the transition!
Hopefully the above will get you going on the right path, and once you understand Templates, Chunks, TVs, Snippets and Extras, you will find it very easy to progress quickly (imho).
This topic was automatically closed 2 days after discussion ended and a solution was marked. New replies are no longer allowed. You can open a new topic by clicking the link icon below the original post or solution and selecting “+ New Topic”.