jCore is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. It can be used as a back-end system for many different types of websites, ranging from small personal blogs to large corporate sites with support for Multi Sites where you don't want to update each site one by one but all at once.

What's a content management system (CMS)?

A content management system is software that keeps track of every piece of content on your Web site, much like your local public library keeps track of books and stores them. Content can be simple text, photos, music, video, documents, or just about anything you can think of. A major advantage of using a CMS is that it requires almost no technical skill or knowledge to manage. Since the CMS manages all your content, you don't have to.

How will jCore help me build websites?

jCore is designed to be easy to install and set up even if you're not an advanced user. Since it's so easy to use, as a Web designer or developer, you can quickly build sites for your clients. Then, with a minimal amount of instruction, you can empower your clients to easily manage their own sites themselves.

If your clients need specialized functionality, jCore is highly extensible. You can pick from the available modules or you can easily implement your own and besides this you have full access to the source using Partial Classes from where you can extend/limit the core system too.

An other CMS? why? what's so different?

You are right, there are already a lot of other Open Source CMS systems out there like Drupal or Joomla! but jCore takes a different approach. The whole system is build up in two parts. There is jCore server and jCore client. jCore server is like a library that you build on, while jCore client is the website that you build for your client.

The advantage of this approach is that each client of yours can have it's own home directory with it's own ftp access and without being able to access the other clients directory but still use the same core system which is placed in a global place. Also each client can have it's own library modifications, modules, or even jQuery plugins, as the core system uses Partial Classes so you can rewrite only a part of the core system by simply extending the core class by placing the same php class file in the lib/ directory and that's it. This also works for modules and jQuery plugins too, just place your own module in lib/modules or jQuery plugin in lib/jquery and you are ready to use them locally just by the defined client.

Another advantage of the system is the upgrading process. If jCore server is placed in a different location and all your websites are build with jCore client, when a new release is out you just simply take jCore server and overwrite your old files with the new ones from the release and that's it. No need for upgrading every website one by one, no need for applying changes on each website as once the core is upgraded all clients will use the new codes and its like all of them have been updated too. Sometimes there are changes in the core system that have to be depending on versions so not all new features may show up at all your client sites but all the new fixes/codes will be used by them immediately. Because this version system each new release is backward compatible and lets say if you have a client build on 0.4 and you upgraded your server system to 0.6 your client website will still work just as it did before it just will use the new codes from the server system.

In a nutshell jCore is mainly developed for webmasters who have a lot of websites to take care of and don't want to upgrade one by one every time there is a new release.

Also the admin system takes a different approach to the Content Management, for e.g. you don't create a content/post and then link a menu to it, you first create menus and then you can add as menu posts/modules to them as you want. I would say it's a more logical approach, or at least a different one :)

History & Future

I started jCore as a personal project because I wanted a system that can support multiple clients/websites with one core system to update. In 2009 the first release has been made but a lot has changed since then. Support has been always an important point for jCore, no questions were left unanswered and new versions were/will be backwards compatible with older releases so you don't have to redo a website just because you upgrade the core. From the start it has been made public under the GPL license and will stay this way in the future too.

For the future I have big plans for jCore, we are still in "beta" state as the 1.0 version has not yet been released but in the next version (0.7) there will be template manager and once I have most of the features implemented and 1.0 is out downloadable translations, templates and third party modules will be available too. Once 1.0 is out and we have more developers jCore should pick up more speed with the development and get an even better CMS.

If all these sounds interesting you can try it yourself using the Demo or Download the latest version.