calmPress / calmpress

A modern CMS based on WordPress
https://calmpress.org/
22 stars 1 forks source link

Question: Any future plans to support other databases as well? #137

Closed stefanos82 closed 6 years ago

stefanos82 commented 6 years ago

First of all, great job.

I keep an eye on both ClassicPress and calmPress and I like how these two projects follow a similar path, but not the same.

I was wondering; are there any future plans to support other databases as well?

Personally, I'm interested in SQLite3 for an obvious reason: low to medium traffic websites.

Most of my friends' websites are handling nearly 150 to 250 users per month and that is on their highest peak and It's quite shame they are wasting money on a stack that is barely used as a whole.

Do you think it would be something easy to implement?

markkap commented 6 years ago

First of all, thanks @stefanos82 . It is nice to know that other people appreciate not only the effort but also the direction in which things are going.

The end goal is to move to PDO (and you reminded me to open an issue about it #138), which should help with achieving more portability across DB engines, but the truth is that mysql-ism is such a big part of wordpress, it is hard to even estimate the effort that might be required for that, or at least I do not have enough DB mojo yet to grasp what would be required to make it work.

Quick google and I found the next plugin https://wordpress.org/plugins/sqlite-integration/ which highlights that the problems facing a generic solution will be with plugin and theme compatibility which is out of the control of core, or at least will require to develop some code that will automatically detect a bad usage and convert it to PDO.

Have you tried that plugin? It is old, but for such a functionality age should not matter that much.

stefanos82 commented 6 years ago

Yeah, I know about this plugin @markkap.

I wish I knew more about WordPress's internals so I could help with possible experimentation.

Hmm...are there any plans to add a separate sub-directory for calmPress's new mechanism that could be used in parallel with WordPress's core mechanism?

This could end up being simpler to implement for you, but I could be wrong.

I'm just hypothesizing without really knowing, so be gentle with me :smile:

markkap commented 6 years ago

Hmm...are there any plans to add a separate sub-directory for calmPress's new mechanism that could be used in parallel with WordPress's core mechanism

Sure thing. The long term idea is to keep the wordpress APIs in place as much as possible, and build a calm ;) wrapper around them. The wrapper will be written using PHP 7 language features including type declaration for function parameters and autoloading of classes.

Didin't think yet where to place it in the directory structure, maybe it will be possible to just have a "calm" directory under wp-includes

stefanos82 commented 6 years ago

Very nice. That would work wonders in my opinion.

Will calmPress remain compatible with WordPress, like forever, or are there any plans to move on to a different direction that would further improve by adding extra layers of security and the like?

markkap commented 6 years ago

Will calmPress remain compatible with WordPress, like forever

It depends on the definition of "compatibility". Compatibility in the API level so that WordPress plugins and themes can work with calmPress without modification, YES, but only for features I think (and input from other people is very welcome) are actually used by a big percentage of sites (but do not have to be a majority) and do not cause violation of security and privacy principals. Features that are not used, or tend to cause security and privacy problems are going out. You can take a look at the issues which will be implemented for the 1.0 release https://github.com/calmPress/calmpress/issues?utf8=%E2%9C%93&q=milestone%3A1.0.0+ some of the items there I am sure will be controversial...

stefanos82 commented 6 years ago

This sounds exactly like what I have had in mind when I first thought about forking WordPress myself.

I didn't have the guts to do so though because I have no idea how WP's internals really work and I couldn't risk it.

I can't wait to see how this project will look as a final product.

It will be really cool based on my needs.

stefanos82 commented 6 years ago

Features that are not used, or tend to cause security and privacy problems are going out. You can take a look at the issues which will be implemented for the 1.0 release https://github.com/calmPress/calmpress/issues?utf8=%E2%9C%93&q=milestone%3A1.0.0+ some of the items there I am sure will be controversial...

I have read every single ticket from the link you have shared and I agree with most of your suggestions; with those I don't fully agree yet is because I haven't decided yet what the possible user consequences might me.

Overall though, I will say I weigh towards agreeing with you as a whole.

I realized one thing: those who want to migrate their WordPress website to calmPress, won't be users that use ancient version of WordPress, but rather people who have their websites auto-updated and don't agree with the whole direction WordPress it heading with Gutenberg.

Which means, they have to choose between:

Those who plan to come to calmPress should know in advance that by migrating to it means they will be using modern PHP, more secured semantics, features and mechanisms, and bloat-free code, therefore there's no way back to WordPress.

One last observation: all calmPress work falls under WordPress's fork; that's why I couldn't find you via search engines and had to manually look for your project via GitHub search.

When will you get it detached so it can be found as standalone project?

markkap commented 6 years ago

Hmm, I will have to look for the SEO situation, but how did you try to search? Unlike ClassicPress I do not want to fully detach from the WordPress as in addition to security related fixes there are going to be some good feature worth integrating. Not everything core does is always as bad as gutenberg is ;)

As for migrating back to wordpress, it should not be too hard right now, the only non compatible change for the 1.0.0 version is using a taxonomy for author information, and even that can mostly be done with a WP plugin if needed. All the rest should be very compatible as most changes are in how the code works and not in the DB itself.

stefanos82 commented 6 years ago

Hmm, I will have to look for the SEO situation, but how did you try to search?

I've just searched for "calmpress"; only on the second page can be found the github repo, not the website though.

Unlike ClassicPress I do not want to fully detach from the WordPress as in addition to security related fixes there are going to be some good feature worth integrating. Not everything core does is always as bad as gutenberg is ;)

I see.

As for migrating back to wordpress, it should not be too hard right now, the only non compatible change for the 1.0.0 version is using a taxonomy for author information, and even that can mostly be done with a WP plugin if needed. All the rest should be very compatible as most changes are in how the code works and not in the DB itself.

That's good to know.

markkap commented 6 years ago

While the domain is in my possession for about a year, the site had no content. OTOH there was development on github, so no surprise that github comes first in the results. This will probably change when the site will get older. But I do need to make the plugins in wp.org to point to the site, was just too focused on other things

stefanos82 commented 6 years ago

No worries mate, I just thought to let you know.