#1 2015-08-23 14:22:52

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

[DISCUSSION] Ionize 2.0 Development

Hello here again!

Im working on a faster version of Ionize (not officialy accepted yet). Follow the updates on github: https://github.com/adamos42/ionize

Not official yet?
I not have permission to name it as Ionize, but I like this CMS and I want to help with my knowlage. I will be happy if this ionize styled CMS can be named as Ionize. If not I will create a seperate CMS anyway, because I and many of you need something like Ionize but faster and updated. The  0.9 was available from 2011 and 1.0 is available from 2013, we have 2 year experience of requirements from 1.0, it should be time for an other big step.

Why making from skrach?
Because the current code is way more complicated than should be. Simplier solutions can achieve the same goal faster, the current code not realy using codeigniter, most of the code is standalone (which is good, but then why use framework?). The FTL is good library, it should be use as a compiler to compile the ionize tags into native php (and save), not live compile. And also because the current code can't be migrated into CI3.0 without serious rewrite, so it's faster to recreate based on requirements.

It's worth it?
With HipHop I was able to make 15-20k request per second, without HipHop I have ~5k request per second with cache and without cache 1.5k request per second with live mode. It's not the ionize tags yet, but the tags will be compiled as in other Template Engines, so it should not slow down too much.

What's done?
Currently code can show the frontend with theme and languages. The Content(Page,Article), the Navigation and Languages available with native php and ionize styled library. The ionize styled libraries will process the ionize tags, it's not done yet, just a few basic functions are in there.

What is the goal?
Update the code for the current needs, upgrade the framework for security and performance and create a CMS what can beat other CMS in the web with simple, adaptive, fast solutions.

Can I join?
If anyone wants to join, just fork it, we can be ready faster. If you're not too experienced programmer, it okay I have lot of simple tasks what I want to do when the main code id done and can be done before it (phpDoc, TestTemplates, etc.).

Contact infos?
Feel free to email me: adamos42@gmail.com or join to the gitter chanel: https://gitter.im/adamos42/ionize

Last edited by adaliszk (2015-08-23 14:48:05)


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#2 2015-08-26 00:06:25

larzeni
Member
Registered: 2015-08-21
Posts: 24

Re: [DISCUSSION] Ionize 2.0 Development

Hi Adamo I just spotted a little bug in the 1.0.7 release.
The problem arise from a conflict between HTML5 date input and the js calendar used for content elements.

Details are here

Can you please check that the issue is solved in your 2.0 release?

Do you want me to open an issue on your project on github?

Thanks,
larzeni

Last edited by larzeni (2015-08-26 00:06:41)

Offline

#3 2015-08-26 00:29:56

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

larzeni wrote:

I just spotted a little bug in the 1.0.7 release. The problem arise from a conflict between HTML5 date input and the js calendar used for content elements.

You cloned the files from the github or downloaded the 1.0.7.1 release? Maybe on the gitbub version the problem is already solved.

larzeni wrote:

Can you please check that the issue is solved in your 2.0 release?

My code does not have admin yet big_smile so the problem is not exists yet.

larzeni wrote:

Do you want me to open an issue on your project on github?

If there in the github code, the bug is, then you should. After that, make a pull request with your solution, you can. cool


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#4 2015-08-26 00:43:56

larzeni
Member
Registered: 2015-08-21
Posts: 24

Re: [DISCUSSION] Ionize 2.0 Development

I'm not sure exactly what my release is.

I downloaded it from the ionize home page, at the URL: https://github.com/ionize/ionize/archive/1.0.7.1.zip, so it should be 1.0.7.1, but, inside the files, the readme states:

Version : 1.0.7
Released on july 2014

Having said that, I still don't have a decent idea of the inner working of ionize, so I'm not able to produce a bug fix yet sad.

It will take me some time... when I will be ready I will start to send patches, meanwhile if you can solve them I will appreciate it wink

Offline

#5 2015-09-01 08:10:09

damascus
Member
From: Brisbane, Australia
Registered: 2013-04-08
Posts: 270
Website

Re: [DISCUSSION] Ionize 2.0 Development

@larzeni - hopefully you seen this already, but 1.0.7 zip at ionize apparently broken, so just grab new version from github. See the post by adamos on 2015-08-20 at http://www.ionizecms.com/forum/viewtopic.php?id=1982

Last edited by damascus (2015-09-01 08:10:41)


Webmaster | OneCNC Australia

Offline

#6 2015-09-12 19:38:16

chiccosn
Member
Registered: 2014-09-23
Posts: 17

Re: [DISCUSSION] Ionize 2.0 Development

@adamos42 I'm REALLY HAPPY to hear that from you.
A minute before I read your thread I was open a new one titled "There will never be a version 2.0 of Ionize?".

So keep going and please update us about your steps!

Happy news. And happy to help if needed.

Last edited by chiccosn (2015-09-12 19:50:05)

Offline

#7 2015-09-13 16:53:47

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

chiccosn wrote:

I'm REALLY HAPPY to hear that from you.
A minute before I read your thread I was open a new one titled "There will never be a version 2.0 of Ionize?".
So keep going and please update us about your steps!

Far as I know, the Ionize has a 1.1 version in development, where the Ion tags are accessible with native PHP but the core team has no time to finish it. The team is thinking about the framework change, but I dont thinks thats the best solution.

On my Github version of code is a CI3.0 based version of ionize, the code is in development, for now it handle the contents, languages and menus from database. I will upload some more code in a next two week, but maybe I will remake some of the code, because I have a few new ideas.

chiccosn wrote:

And happy to help if needed.

If you want, you can. But first discuss what do you want from the 2.0 version? I started the 2.0 because the 1.x code is too complicated and not too fast without cache. Now the code is for me 7-8x faster than the current version.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#8 2015-09-14 14:25:40

chiccosn
Member
Registered: 2014-09-23
Posts: 17

Re: [DISCUSSION] Ionize 2.0 Development

I can't help about Ionize's new core because I'm a simple user of Ionize, but I can surely tell you my "wish list".

- First of all, a fully updated documentation;
- Tutorials;
- Easy Integration with socials. Maybe is useful a module/function that provides an easy extraction of posts, tweets, status, facebook albums and so on..;
- Better forms integration. Simplify how to process forms and mailing system. Security forms for avoiding spam hacks integrated;
- Tag about parent page and child pages better developed (some issues were discussed in the forum like this: http://ionizecms.com/forum/viewtopic.php?id=1160);
- And personally, if is it possibile, I'd like so much if during setup process, there will be a choice to choose "responsive design site"
or "dedicated mobile version". That's in order to separate pages and styles between devices (that's what I'm talking about: http://ionizecms.com/forum/viewtopic.php?id=2085).

That's all for now.

I have to ask to you about your github version.
I have forked right now the repo. Is it testable?
Obviously I got a database error. How I can integrate it?

Thanks in advance.
Chicco

Offline

#9 2015-09-14 15:03:37

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

chiccosn wrote:

I can't help about Ionize's new core because I'm a simple user of Ionize, but I can surely tell you my "wish list".

Thats usefull too smile

chiccosn wrote:

I have to ask to you about your github version.
I have forked right now the repo. Is it testable?
Obviously I got a database error. How I can integrate it?

You can mess with it, create a database and execute the database.sql on that. That script will generate the tables and views and triggers. After that change the database settings in ./ionize/config/database.php

The repo code far as I remember working, it designed for PHP 5.4 or better and can handle contents with menu and translations. It has no admin page yet, it will be available when the frontend code is ready. Not too much for now, I will stream the development if somebody interested. The stream will be on: https://www.livecoding.tv/adamos42/

chiccosn wrote:

Tag about parent page and child pages better develope

Since my code is writen in native php and the template system will be only for parsing, you can get any content data using this code:

$parent = new Content(); // or $parent = Model\Data\Content::get_instance();
$parent->getByID( id_of_parent_content );

// or get the content with the construct
$parent = new Content( id_of_parent_content );

// show all available static data from the content
echo "<pre>" . print_r( $parent->getData(), true ) . "</pre>";

I will add a getParentID() and getParentContent() method to the code soon. The childrens always in the items and items_sort protected attributes, what attributes is an array of reference of the children classes. In content its a Content class from Model\Data\Content on navigation it should be Model\Data\Navigation or Model\Data\Navigation\Item class.

Every data class has a is() method where you can test the type of the class:

if( $parent->is('content') != true ) echo 'Error: $parent is not a content class!';

The data from the database loaded to the classes by URL and forced with getByID method. The data available trough getter and setter magick method.

echo Ion::tag( $content->title,     "h1"  );
echo Ion::tag( $content->subtitle,  "h2"  );
echo Ion::tag( $content->preview,   "div" );
echo Ion::tag( $content->content,   "div" );
chiccosn wrote:

Better forms integration. Simplify how to process forms and mailing system.

How do you think this? I can add a tool on the administration where you can setup your form actions and validations, but I do not want to create a form generator for that.

chiccosn wrote:

I'd like so much if during setup process, there will be a choice to choose "responsive design site"
or "dedicated mobile version".

If I add a mobile and website type for the views then the template system can handle this.

Last edited by adaliszk (2015-09-14 15:04:22)


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#10 2015-09-22 18:16:14

chiccosn
Member
Registered: 2014-09-23
Posts: 17

Re: [DISCUSSION] Ionize 2.0 Development

Sorry for delay Adamo, how's going your improvements?

Offline

#11 2015-09-22 20:27:00

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

chiccosn wrote:

Sorry for delay Adamo, how's going your improvements?

Hello, I rewrited my core code, it's faster than the github version, also I streamed it:
https://www.livecoding.tv/video/adamos4 … deigniter/

Next stream will be on 26. 15:00, I will remake the language handler and the navigation handler.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#12 2015-09-23 16:25:09

chiccosn
Member
Registered: 2014-09-23
Posts: 17

Re: [DISCUSSION] Ionize 2.0 Development

Hi Adam,
I watched the stream... You were so focused! smile

By the way, Can I ask  something?
What the Ionize's 1.x core developers think about your work?
None of them have commented your post....

Offline

#13 2015-09-23 16:52:02

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

chiccosn wrote:

What the Ionize's 1.x core developers think about your work?
None of them have commented your post....

I've only talked with Michel-Ange and Kay about this, both of them thinking with Laravel but Michel has no time for developing the CMS now. Kay making minor changes and features, because he like the CMS concept, he agree with me that the ionize core needs renewal by using more modern components and techniques like PSR and Compozer. He like the native php access and suppporting other template parsers.

chiccosn wrote:

I watched the stream... You were so focused!

I was rather nervous big_smile


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#14 2015-09-24 16:49:34

otemu
Member
Registered: 2014-03-07
Posts: 183

Re: [DISCUSSION] Ionize 2.0 Development

Hey,

Just wondered if you was on track with the plan?

What's the plan?
The plan is create the Ionize styled libraries during August, and in September recreate the Ionize tags with compiler, and support other Template Engines like Smarty and Dwoo. Also in September create the backend with Ext Js 4 + jQuery.

Think it great what your trying to achieve.  Am stuck in some project been trying to get off the ground in Ionize, which hope to complete sometime in Jan.  Once that done I definitely like to get involved smile

Good luck

Offline

#15 2015-09-24 16:59:23

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

otemu wrote:

Just wondered if you was on track with the plan?

A little late, but I think I can make the first RC version near December.

otemu wrote:

Think it great what your trying to achieve.

Thanks, if you have wish for the new release just write it smile

otemu wrote:

Am stuck in some project been trying to get off the ground in Ionize, which hope to complete sometime in Jan.
Once that done I definitely like to get involved smile

Then you will join when I will make the documentation and minor developments.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#16 2015-09-27 11:45:00

otemu
Member
Registered: 2014-03-07
Posts: 183

Re: [DISCUSSION] Ionize 2.0 Development

adamos42 am sure you got a lot of things you want to include so not to try and make your list bigger, but are you also going to include ionize tags in modules? As am sure that has been requested on here quite a lot.

Offline

#17 2015-09-27 14:24:19

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

otemu wrote:

are you also going to include ionize tags in modules?

Ionize tags will be in the code, just the tags will be parsed and used as a php code not liveparse like now. That's should boost the CMS page rendering speed. You will able to make ionize tags in modules almost the same method like now, only the code changing in background.

otemu wrote:

am sure you got a lot of things you want to include so not to try and make your list bigger

You can, if I know a feature request before I make the core classes, I can make the core classes to supply them or maybe include the feature becuase maybe thats 10 row in code.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#18 2015-09-27 15:08:18

otemu
Member
Registered: 2014-03-07
Posts: 183

Re: [DISCUSSION] Ionize 2.0 Development

When I mean ionize tags in modules am referring to this

http://doc.ionizecms.com/en/tutorials/b … le-no-tags

The module has the same behavior than one standard CodeIgniter app : As many controllers you wish displaying as an views you wish.

But...
We do not have the website's design, and of course the navigation menu isn't displayed !
This job is done by the Tag Manager of ionize and no easy lib gives today access to the same functionalities (this will certainly be developed in the future). 

One solution to this problem is to create just one tag which will outputs the first view of the author module.
Other views of the module will then be loaded through Ajax.

Maybe won't be possible to get all tags, but be nice to include stuff like header footer in your modules, currently to achieve this am hacking the core.

adamos42 wrote:

You can, if I know a feature request

Okay I come back with a feature list as a few things I like to see

Offline

#19 2015-09-27 15:50:13

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

otemu wrote:

When I mean ionize tags in modules am referring to this
http://doc.ionizecms.com/en/tutorials/b … le-no-tags

I planned to make the core in HMVC structure and the Ionize tag parser as a parser, so If you want to make a module which not using Ionize tags then you can do it. In fact you will able to use Smarty, Dwoo, Twig also as a template engine or you can use the basic PHP View in CodeIgniter.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#20 2015-10-13 00:23:10

otemu
Member
Registered: 2014-03-07
Posts: 183

Re: [DISCUSSION] Ionize 2.0 Development

Hey adamos42,

Thought post some features I like to see, I know some probably not realistic but see what you can do smile

  1. Ability to preview an article, currently we only have "See the website" link which talks you to the home page, be nice to create an article and click preview/view page and it takes you directly to the url instead of having to type it in.

  2. Automatic update notification CMS and Plug-ins

  3. Help/Documentation built into the CMS, be nice to have all documentation built into the CMS

  4. Nice to have a Plug-in market as currently just on the forum

  5. Ability to search for an article/page in CMS

  6. Version control for pages/article, giving ability to roll back an article/page to an previous version

  7. Ability to choose which articles can be linked to an article(article related content)

  8. Master Template, at the moment when using several templates you normally have a lot of the same partial views e.g header/footer in each view

  9. Desktop/Mobile version to solve such an issue here - http://ionizecms.com/forum/viewtopic.php?id=2085

  10. Could we somehow have better script management

If I think of anything else I edit this post.

Offline

#21 2015-10-13 11:21:29

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

otemu wrote:

If I think of anything else I edit this post.

Dont edit, because I will not notified about that with email wink

otemu wrote:

Could we somehow have better script management

You want the scripts show on the theme files on administration or its something else?

otemu wrote:

Ability to choose which articles can be linked to an article(article related content)

You want link articles to one article for make paged article?


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#22 2015-10-13 15:05:08

keiichi
Member
Registered: 2013-11-18
Posts: 31

Re: [DISCUSSION] Ionize 2.0 Development

This is great!

I'm just a sitebuilder but if I can help with testing or anything, I'm in.

Offline

#23 2015-10-13 15:49:54

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

keiichi wrote:

This is great!
I'm just a sitebuilder but if I can help with testing or anything, I'm in.

Okay, stay subscribed to this topic wink A possible tasks for sitebuilders is collect the possible site markups like Blogpage or Newspage.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

#24 2015-10-13 21:38:40

otemu
Member
Registered: 2014-03-07
Posts: 183

Re: [DISCUSSION] Ionize 2.0 Development

adamos42 wrote:

You want the scripts show on the theme files on administration or its something else?

Actually I threw that in without any specific requirements so could be within CMS(attach js/scripts to articles/pages) or some Template method(passing code blocks to partials), but to explain more typically in ionize you could have several views page1, page2, page3, page4 e.t.c loading styles/scripts like this:

<!-- BEGIN:VIEW -->
<ion:partial view="header" />
some content
<ion:partial view="footer" />
<!-- END:VIEW -->

<!-- BEGIN:HEADER -->
    <html>
    <head>
        <title><ion:meta_title /> | <ion:site_title /></title>

        <!-- Some default Styles -->

        <!-- Some default Javascript  -->

    </head>
    <body>
<!-- END:HEADER -->

<!-- BEGIN:FOOTER -->
<!-- Some default Javascript -->
</body>
</html>
<!-- END:FOOTER -->

If now however I wanted to add more scripts to a specific template, I could use such a method:

<ion:partial view="header-open" /> <!-- header-open contains - Some default Styles/Javascript -->
now i can load specific scripts/styles for this particular template
<ion:partial view="header-closed" /><!-- now i can close the header -->
some content
<ion:partial view="footer-open" /><!-- footer-open contains - Some default Javascript -->
now i can load specific scripts for this particular template
<ion:partial view="footer-closed" /><!-- now i can close the footer -->

Not sure if that makes sense? Was looking for a better method to achieve this.

adamos42 wrote:

You want link articles to one article for make paged article?

It is explained more in this post "http://ionizecms.com/forum/viewtopic.php?id=980" to achieve this you can use "categories " or "Word tags" or "Plain text" just wanted the option a way you could specifically click what articles are related specifically in the cms, by let say drag and drop any article you want on to a list and then you could display on that view page.

Offline

#25 2015-10-13 22:00:10

adaliszk
Ionize Friend
From: Germany
Registered: 2010-09-20
Posts: 397
Website

Re: [DISCUSSION] Ionize 2.0 Development

Ooh, the first one is simple in the current version:

<ion:page>
    <link rel="stylesheet" href="<ion:theme_url />assets/<ion:view />.css" />
    <script src="<ion:theme_url />scripts/<ion:view />.js" />

    <link rel="stylesheet" href="<ion:theme_url />assets/page_<ion:name />.css" />
    <script src="<ion:theme_url />scripts/page_<ion:name />.js" />
</ion:page>

Okay a littlebit bypass the problem and you can still make two textarea field and attach to the page and article to use it as a extension, by default maybe not necesseary important to have, but it can implement, and if that in the system then the code can make a onefile minified version of css and js.

From my view the categories and tags are almost the same, only the attach mode is different and categories have hierarchy, so I will use almost the same code for both of them, so you will able to get everything you want.


Webdeveloper, Programmer, Application developer, Ionize friend
@adaliszk

Offline

What's Ionize ?

Ionize is an Open Source Content Management System created by webdesigners for webdesigners.

Created and maintained by Partikule and Toopixel, Ionize wants to be the easiest and most powerful CMS.

Can I help ?

Because talent is nothing without involvement, we are looking for motivated coders and webdesigners to join the project team.

Resources

Website : ionizecms.com
Documentation : doc.ionizecms.com

Development : Ionize on GitHub
Translations : Ionize Translations