Projects have to evolve in order to keep it in shape and to answer the webmasters requirements. I have the following ideas for further releases. They are not ordered by importancy but randomly as they popup in my head so any of them may come to the next release.
- phpBB Forum integration
- For posts add Tell a Friend, Print and Copy as pdf
- Database backup system for the admin with restore possibilities
- Private messaging module for members
- Live help/chat module
- Submit new site to major search engines module
- Digg it extension for posts.
- FAQ Module.
- Wordpress, Drupal and Joomla import module.
- Use module paths for SEO Links as we do with menus and posts.
- Tickets system for admins to let us know if there is something wron in their admin and we (webmasters) can go in and fix those things fast and let them know in the ticket system too.
- Shoutbox module.
- OpenID integration.
- Flag content possibility.
- Add user tracking system
At the moment there is no roadmap available so I can't provide you with deadlines or exact lists of what features to come with the next release but they will come and you can follow more closely the status of the development by following me on twitter.
If you have any ideas/thoughts you would like to add to this list please let us know in the comments below.
Comments (50)
Right now I'm working hard on the shopping module and there will be a lot of fixes too in the next release so will be worth to keep coming back :)
Maybe u can do ajax pagination system
I think it would be nice, if the Admin could install new sites with one or two clicks! A little form in the Backend where you can type in "Client's Site name", "Path", "Table Prefix for db". like this!
But the backend is very nice!!! I like this software! But I can only use it, if all sites would use one db!
Regards!
Bernhard
Thanks for the suggestions, the plan for using one db for all sites is already in the list so it should be implemented in the future for sure, regarding the one click creating of clients is also considered but I would like to first put down all the coding needed to satisfy almost any client's needs and then implement these things that make our (webmasters) life even more easier :)
Regards,
I've tried many CMS's but this one was the best solution for my purposes. It is easy to use and very versatile.
I addition to the DB prefix and one click client installer it would be nice a theme/module installer/downloader to the admin site.
Thanks!
Regards,
Balazs
Thanks for the kind words, I'm happy you like it, 0.4 (which should be out this weekend) will already have db prefix and for the one click installer there is already an Installer which does that, that will be also upgraded to 0.2 this weekend with db prefix support and if you install jCore client from the installer you can already define which modules should be added to the client.
Regarding the themes, I do have something in mind to start making themes and have them in an installable format for the admin where you could just pick the design you would like to use, I will try to get it in till 1.0.
Regards,
2) Is it planned to add a possibility to edit the own comments?
3) Another suggestion: maybe you will someday support the integration of PunBB? Its a really good and leightweight forum.
Please keep up the great work! this CMS is very impressive - and will be even more in the future.
PunBB seems interesting it is simple and clean, I like that, I didn't hurry with the forums integration btw cos I think there are great forums out there and if you need a forum you just install it and direct a link to it on your site and there you go but as more and more people seems to be requesting this feature I will give some thoughts on a forum integration and come up with something. For now PunBB and PHPBB are the ones that I consider bringing in but we will see.
Thanks,
it would really help if you could integrate (or create a module for) piwik analytics:
http://piwik.org/
thanks for reading,
Dave
Yes, this could be added as a module so I have added it to the todo list and we should see it added soon after 1.0 is out as a third party module.
Thanks,
Anxious to see 0.6. This is hands down the easiest install and client / user CMS I've used.
Thanks for the hard work.
Will template manager be part of this next release?
I see on your future plan list.
- Template Manager to easily install/uninstall templates.
It is at the bottom of the list.
It should be at the top of your list. The one item that would top them all support for a grid system css (960.gs) / html5 / css3 and google minify http://code.google.com/p/minify/
Easy skin capability could bring the masses of users, designers and contributers.
In the current version I could not understand how the html templates are stored and served in the php or I would already create my own degradable html5 templates and template variables.
Regards,
William
I'm very happy you like it, if everything goes as planed 0.6 should be up this evening and will send out the emails in the next days.
The new version will have the new template too with Main menu at the top and also with a right menu but unfortunately the template has to be still edited manually. I worked a lot to get 0.6 out but I wasn't able to get in the template manager to this version but for the 0.7 it is planed and this will be one major point for the next release.
The template currently is set up by the Layout Blocks (under Site administration) and these layout blocks are customized from css within the template/template.css file. In the next version blocks will be able to be linked to templates this way you will be able to pick/install a design/template and then the blocks belonging to that template will be used together with the template's template.css file and that should be all.
Minify is already used in this release (just I used my own code), all css/js files are compresed and sent trough a different static.php which supports caching and not modified header string also for js files I used closure to compile all jQuery plugins.
Regarding 960.gs, I didn't know this site but will have a look on it and see what is it all about.
Cheers,
http://in3.php.net/manual/en/intro.pdo.php
Note: using PDO not only prevents first level sql injection, since, it compiles every db query, subsequent queries can be much quicker too.
2) using memcache as distributed cache (not everyone may need, but, will be really scalable, when sites grow big, to reduce load on mysql server
http://memcached.org/ (memcache daemon)
http://pecl.php.net/package/memcache
php based library: http://in3.php.net/manual/en/book.memcache.php (I had used this, very easy and can be effective if implemented logically)
alternative php based library: http://in3.php.net/manual/en/book.memcached.php
(tried in 2009, not much documentation and mainly examples outside php.net, unsuccessful in that time, so I turned back to other library I did mention before)
Note: coming to memcache, even though, not everyone requires it, but, enabling support and using it makes a lot of difference, as db load is growing and once webmaster think about scalability as primary and immediate concern (without any reduced stress on security, performance and redundancy standpoints)
3) since, this script is open source, it will be fine, if you do mention the following, so, using any one of the following op-code caching software in server saves lot of cpu cycles
"apc" => http://pecl.php.net/package/APC
"eaccelerator" => http://eaccelerator.net/
"xcache" => http://xcache.lighttpd.net/
Note: there were some other op-code caching software, making a mention of atleast these three op-code caching software as optional will be nice
4) use htmlpurifier to ensure cross site scripting attacks are prevented in whitelisting methods
http://htmlpurifier.org/download
Use "Standalone Distribution", to avoid many includes and save some milliseconds.
I do use this as a function, while I had used when filtering the db outcome or anything before publishing on the screen, like it is suggested as another option on htmlpurifier website, we can filter all inputs to mysql db using htmlpurifier, to reduce number of filtering attempts before displaying for every user (saves some cpu cycles)
======================================================================================
I would like to input many other thoughts (those which I had tried/used and enjoyed the solid benefits of in security, performance, reliability and last but not least scalability perspective ), if you are interested, thank you
1. Yep, I heard about PDO and it is one of the features I will for sure think about it as it has some promising features but for now I stick with simple mysql as in the speed it still better than pdo, (also I read there are some annoying bugs for php 5.2 even with php 5.3) but for sure I will consider it as I want other db compatibility too.
2. Now this is something new, I haven't heard about memcache, I will add this to the todo list and see how it could be implemented and what is the benefit, if you could give me some links to real examples, for e.g. one without memcache and one with memcache with debug info on what has this improved on a large scale.
3. This is good, thanks for the notice, so you were able to test jCore with this three caching software and all worked just fine?
4. I don't think we need htmlpurifier as all data saved in db (unless not specified as html) get's parsed so no xss scripting is possible to get trough so I don't see any reason for this but to be sure we are xss safe there will be a test competition once 0.9 is out.
Thanks again Raghuveer and we can continue on the forum too if you want or by email if you have some sensitive information.
Actually, whatever I had suggested, we did use in a custom developed website in year 2009 (with lot of automation through out the application/website, anyhow, development is slowed down due to some other reasons in year 2011).
technically, those all mentioned features showed their advantage in security or performance perspective promisingly, which good and help is seen in getting better ROI on server costs.
1) PDO, being a latest db abstraction layer developed by php team, is really cool in both security and performance perspectives.
in security perspective, prepared statements in either PDo or mysql/mysqli api as well, help prevent sql injection
in performance perspective, since, we assign values to a compiled sql query, the more values we assign later, it is a performance gain, just some thoughts,
we are using php 5.2 in all our servers and pdo is doing fine. coming to php 5.3, I didnot test still, we wish to migrate to php 5.3 soon, need to check compatibility things with php 5.3, thank you
2) memcached is the software written for livejournal blog hosting platform, by Mr.Brad of livejournal team in 2005 or so. It is mainly a memory (RAM) based distributed key value store (ram can be assigned on multiple dedicated servers or vps etc), which can be used to store output of repeated db queries in a key value combination, so, consequent requests can be served from memcache instead of querying db again and again.
Note: mainly for select query optimisation.
Note: memcache can also be used (if planned correctly), to handle delayed insert/update queries as well (by storing the values in memcache and later committing from memcache to mysql db tables using a cron job kind of (asynchronous operation)
Note: many people use hash of sql query as key and store the serialised content as value. they define expiry time as well.
We, after trying those methods, did not feel satisfied and implemented our methods to ensure db is not hitted surprisingly after every cache miss (due to expired keys etc), likewise, we had implemented our own namespace system, to comfortably flush memcache keys of a particular website instead of using memcache related flush command to flush all memcache keys of all websites kind of...
just some thoughts, I am delaying writing a primer cum advanced whitepaper on memcache, I will post it soon and share a link kind of...
Being a nice programmer, I think, you can manage yourselves well effectively, as well, once some basics are observed well. I will share my inputs to save some time (with duplicate efforts of learning memcache from scratch)
3) I did not test jcore still, but ingeneral, unless and otherwise php code is encoded, op-code compiler cache software caches comfortably the executed form of php code, we can enable cache accuracy check too at expense of few more milliseconds time to ensure correct and updated output of php file is shown.
Note: we need not modify our code for this purpose, unless and otherwise, we think to use these software to host lighter amounts of content in server memory using these software (like we were doing with memcache)
Note: apc, eaccelerator, xcache were all single server based op-code caching solutions, which also can be used to store temporarily content in ram to alleviate load as part of applications, while, memcache is specifically made distributed (multiple server solutions) key value store running out of server memory/ram kind of to specifically alleviate mysql or other database server load (no op-code caching business with apc, eaccelerator, xcache etc)
I am sure jcore will work and cpu load will be further reduced when apc/eaccelerator/xcache is running on the server where jcore or any php based application is running, just some thoughts, thank you
Note: you may try installing "apc" on a test server and jcore and check cpu load and memory consumption when you enable/disable apc extension.
you will see reduced cpu load and some increased memory consumption when "apc" is enabled" and viceversa.
Note: sometimes, when apc configuration has errors or so, both cpu load and memory consumption may grow, please check thos things, thank you
Note: we run "eaccelerator" on servers where we host clients and "apc" on servers, where we run our own websites, as infuture, from php6 or so, "apc" will be available by default in php core itself.
4) as part of security measures, we generally care "input validation/sanitation", pdo prepared statements for enhanced sql injection, htmlpurifier for cross site scripting etc that way. we had attempted to build a solution ourselves for "cross site request forgery attack" as well, which is left incomplete.
when you are sure, no need to worry, you can leave htmlpurifier without doubt
just some thoughts, thank you
==================
actually, I had emailed you through the contact form, with some other things as well, I hope to hear you soon in email, so we can discuss further, thank you
I will be glad to be on forum as well, but using email, instant messenger/chat etc will be helpful sometimes. hope to hear you soon in email, thank you
the correction: (no op-code caching business with memcache as it is purely distributed key value store)
I am interested to know, if jcore requires more rewrite rules?
which seo method is used in jcore?
a) get method (need to define equal number of rewrite rules based on how many seo urls they require)
b) gateway method (where things are routed to index.php and using request_uri, seo rules are defined and managed in php application level.
Hopefully, you are using gateway method for seo rules (if yes, then it will be single rules in nginx to route requests to index.php which is good, otherwise, defining that many rules become cumbersome and not comfortable to manage kind of)? thank you
I did a search for nginx rewrite rules and it seems this one should do just exactly what jCore needs:
location / {
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/(.+)$ /index.php?path=$1 last;
}
}
Hope this works, let me know how it goes.
we use gateway method in our nginx based servers and our admin implemented single rewrite rule like this and we are doing good.
nice attempt, you are quick, thank you
I accually think this would be a "sexy" little thing!
I think the keyword would work better but will wait for your answer :)
One question thought, what would you like to see more? the domain name or the page title?
1. Go to Admin -> Template Manager and deactivate any template you have activated
2. Go to Admin -> Layout Blocks and edit "Admin Menu" block
3. Under content options for the "Admin Menu" block add the following code right after "<ul id='main-menu'>":
<li class='menu' style='float:right;'><a href='%SITE_URL%' target='_blank'><span>%PAGE_TITLE%</span></a></li>
4. Go to Admin and now you should see the page title in the top black bar on the right side and even clickable so you can see the website client's side.
5. Just go to Admin -> Template Manager and reactivate the template you were using and you'r done.
I'm think of adding this by default for 1.0 but let see how much do you like it :)
But I think it should be more easy in ver. 1.0.
Under "Settings" there should be a "Enable sitename in admin area" Yes/no
I really like the attitude you have. Always open for new ideas! That´s for sure something which will give Jcore it´s flexibility!