Quote from: BobRay at Jul 28, 2012, 12:53 AMYou're strongly discouraged from modifying the core code and it's very seldom necessary because MODX is designed to be extended by creating plugins that hook into MODX system events, and by creating custom snippets, template variables, custom resource classes, and Custom Manager Pages.
Modifying the core code usually means that your extras will break when the user upgrades MODX (and new versions come out every few months).
An extra with modified core files will never be approved for the MODX repository (though if the changes are good, they may ultimately be incorporated into the core).
I totally agree with you, we are NOT doing a fork of "MODx"
We are creating panels of server management and industrial embedded devices that our group of companies manufactures, so we need to create many panels of administration for our clients and also integrate security and administration server account, telemetry, SNMP, GPIO remote monitoring and many more things.
And because we already used "MODx" in other service industries, our group of companies develops, we decided to focus on developing within MODx, but taking advantage of much work done with jQuery, mootools and ZK, and these our " extra "tend not to use Extjs, Ext we like but we have a lot of work done and other graphics frameworks and other lenguages, and costs us less work, make abstraction of the core of MODx.
We need all our work together in a single content management system and we have opted for "MODx".
For this in another post asking if it was correct to use the core of "Revo" for new projects, or wait for the release of "cloud".
We want to keep the core unchanged.
In my 2 previous posts, I wondered if we could use some pieces of kernel code, within our "extra".
example: all our "extra" make the generation and reading of individual logs files, and to do this we use the "log method" in the "class xpdo." pointing to our files.
We want to keep the same "log format" of MODx.
To read our log file, we use a replica of the core code, this code:
public function process(array $scriptProperties = array()) {
$f = $this->modx->getOption(xPDO::OPT_CACHE_PATH).'logs/error.log';
$this->logArray['name'] = $f;
if (file_exists($f)) {
$this->logArray['size'] = round(@filesize($f) / 1000 / 1000,2);
if ($this->logArray['size'] > 1) {
$this->logArray['log'] = '';
$this->logArray['tooLarge'] = true;
$this->logArray['size'] .= ' MiB';
} else {
$this->logArray['log'] = @file_get_contents($f);
$this->logArray['tooLarge'] = false;
}
}
}
and I wondered if we develop some extra for the community, you can use this code in the "extra" or it goes against the ethics package MODx?
All that said, MODX is Open Source and you can do whatever you like with it as long as you conform to the GPL license.
Mine was just a funny phrase. that this ought:
not to touch the core.
I don't think there's any way at present to have your own repository that could be accessed from Package Manager.
If you create MODX Transport Packages for your extras, you can let users download the packages to their MODX core/packages directory. They can then use "Search Locally for Packages" in Package Manager and Package Manager will install and uninstall the extras for them. In that case, all you'd need for a private "repository" is a password-protected page with links to the Transport Package .zip files
Of course man! but we do like to have our enterprise repository, and not moving packages around the servers or computers for development.
We are currently using our gitorious repos, but it would be great being able to take the package manager.
Regards.
[ed. note: rtoskit last edited this post 14 years, 2 months ago.]