Fork me on GitHub

Re: Working on ImpressCMS - micro-blog

I've installed the Chromium-based Edge browser on my machine, and it works like a charm. I know people will look at me sideways when I say that I didn't have any problem with the Edge that was included in Windows 10, I'm generally not such a plugin user so their initial lack didn't pose a problem to me. The chromium-based Edge feels faster and more responsive, and it remains very much Edge. The fact that there's a Google-sponsored Chromium engine underneath hasn't changed that much.

I mention this because I tested our site (of course) with Chromium Edge, and noticed that Edge now also suffers from ticket #100 in ImpressCMS 1.3. Time to get that sorted out.

David L asked how he could test out or current state of ImpressCMS 2.0, and it turns out that the documentation for that is severely lacking and/or out-of-date. I've given him a short roadmap on how to get a ImpressCMS 2.0 alpha 7 site up and running on his shared hosting, but it's time I wrote some documentation.

I discovered this morning when I was on the train going to Brussels that my work on the composer integration was more or less useless because I was re-inventing the wheel. Composer has a class 'installer' that takes care of most things for me. 

I'm looking into resurrecting the API documentation for 1.3 and 2.0, and I've looked into Fabien Potencier's SAMI to do so. I know, it's been discontinued, but I still have to find a tool that allows me to do a command-line crawl directly in my Github repository. I have some issues with git telling me that my repository is not clean in the 1.3 branches, so I'll need to do some spring cleaning before that can be published.


Working on ImpressCMS - micro-blog


I'm starting this thread to give you an idea about what I'm currently working on, without needing to fire up another module or another external service to do so. No guarantees about the frequency though.

No guarantees about the content either, except that it will be ImpressCMS-related, but I might ot limit my contributions here to pure development aspects.


Re: Adding data table plugin to improve tables

Hi @Eyekeeper, is there any place where we could check out your datatables integration? I would love to add it into the ImpressCMS 2.0 betas

Re: a test thread

yep,this is a test thread. Still nothing that went wrong. We'll have to see with some other user accounts perhaps.

a test thread

I'm just testing the stuff to see if I can get another error that kicks in on the forums. I hope it doesn't, that will mean I've fixed the case for the version that we are using on the site.


Perhaps later we'll see into rewriting the forum module more thoroughly.

Re: Forum bugfix

I tried some more fixes, because the error didn't seem to be resolved in all cases.

Re: Forum bugfix

Visibly the fix wasn't working as I thought. It's a difficult fix because the problems isn't there the entire time

When you look at the error message, there is an error in the SQL because one of the keys in the object seems to give a totally nonexistent value. I tried to fix it now in the old Art framework, but I'm not sure if my fix is working ok. Let's test

Forum bugfix

Hi, I did some investigation to the errors we are experiencing from time to time on the forum, and I think they are now resolved.

Re: Adding data table plugin to improve tables

I looked around, and stumbled upon this page : where the author explains a bit what the different options are, and when you can use what.

Putting scripts at the end of the page to make the browser take them into account last is an option. But that will not always offer the biggest speed improvement, because you will still be loading the files one after the other. If the script in question has no dependencies, you could use the "async" keyword, to indicate to the browser that it can load the javascript file in parallel with parsing and downloading the HTML.

In the end, lesser files to download, even if they are bigger, is also an optimization. So you could also consider using tools like webpack, to reduce the size and the number of files you include in your page as an extra optimisation.

Re: Adding data table plugin to improve tables

This may be related to something I was just hashing over for page speed optimization. Google's Page Speed Insights suggests changing the parsing and execution of scripts and stylesheets and putting them only just before they are needed. Placing script tags and stylesheet tags in the header of a page actually stops page rendering until they are downloaded and parsed. See this info page from Google.

I'm experimenting with making all the javascripts 'defered' to start with. Some of this can be done in the theme, and some of it has to happen in the core - the $icms_module_header adds scripts and stylesheets like linkexternal.js and all the jQuery script files.

Anybody know of any reason NOT to defer their execution until the end of the page rendering?

Steve Twitter: @skenow Facebook: Steve Kenow

Re: Adding data table plugin to improve tables

Datatables integration would be great, so please do a PR for 2.0 once you have something that works

The problem that you are experiencing is that the data is managed in 2 worlds : the javascript world and the PHP world. The javascript world (datatables.js) works with the data that you give it. In a simple situation, the basic configuration of datatables works fine : you feed it all the data, and everything is managed inside the datatables implementation, on the client browser.

As you found out, that is limited to small datasets. Once you get into the few hundreds, the browser slows down considerably. The trick is to plugin PHP functionality to replace some of the functions that datatables does in the browser, and shift the workload as much as possible to the server. Sorting and such as well, because if you load only 15 elements inside of datatables, in its standard configuration, it will only work with those 15 lines, giving very funny results, that will be plain wrong

in my opinion, you will need to write an integration for the loading, updating, sorting, searching of data from datatables within ImpressCMS. Once you have that, the sky will be the limit

Adding data table plugin to improve tables

Hello!  I'm trying to customize the standard   icms_ipf_view_Table Actually, in order to use DataTable jquery Plugin I overwrote my system_persistabletable_display.html file in order to be able to use the plugin. (

For small tables it works like a charm, but when you have slightly bigger ones (around 1k records), data is being fetched completely and then Datatable is redendered. The downside is that it becomes really slow untill all loading is completed.  

I've also tried to keep the tree selector where I can have limits for 10, 15 etc records, but then I cannot access more data than selected for some reason.  I have other, larger tables where I can see thing getting too slow then. 

Reading the documentation I came up to defer loading, json rendering and background loading methods, but I don't know how to apply thoses changes inside impresscms in order to have it running.

Some links I read: Any thought on how to optimize this loading process? 


Re: So, what about front-end assets?

Good question Personally I feel that composer is very good for the purpose it is built : manage PHP packages and the dependencies between them. Where it comes to front-end assets (CSS, Javascript, SASS, LESS, TypeScript, ...), composer lacks the full feature set that is needed today.

Most front-end developers nowadays user LESS or SASS in their workflow, and they have grunt or node.js or gulp systems setup to compile, rework, minify and zip the resulting files into the most efficiënt package possible for web consumption. I think we should leave that part to the designers and front-end developers, because that changes so often and it's really different technology.

ImpressCMS doesn't handle included files well at the moment. If one day there would be a way to interactively define the different files to include through the core (on server or remote), it would start making sense to try to manage them in the core, but not before.

So, what about front-end assets?

ImpressCMS 2.0 will come with composer out of box. So, installing PHP modules and libraries will be easier, but what about front-end assets? Do you have idea? do you? Would you like to share your own opinion here ->

Yeah, I know that this question is on GitHub, but I think this is a better place for talking about any development issues :)

1.3 talks, PR and roadmaps

Are you communicateing much between each other... during coding /development? ## I saw that Sato seems to relax after, was it 1.3.2 or somti'n. ## I think we now can keep climat more cool and planned around here now. When this template thing is solved, that is. ## Is there any discussion about roadmaps? /MG /JN /WN (since ~2007, I think). Happy and rising 2018!

Re: Smarty resized_image plugin: update

It needs to write thumbnails to cache or templates_c, I forget which. So another possibility is if those aren't writable for some reason it will crash out.

Re: Smarty resized_image plugin: update

fiammybe, I think it's related to PHP-GD lib. From the code what I see it's only possible to get empty response if resizing image or getting image info fails. Can it be that PHP-GD is missing on server? Also, it's possible that WideImage fails. idk, why there is methods in the code from GD lib and WideImage...

Re: Smarty resized_image plugin: update

I'm resurrecting a very old post, but is there a good explanation on how to use this image resizer? I've tried it on a site, and I get blanks instead of an image URL...

Re: New Vagrant box for developing something with/for ImpressCMS just released! v0.1

That worked! Thank you @mekdrop

Steve Twitter: @skenow Facebook: Steve Kenow

Re: New Vagrant box for developing something with/for ImpressCMS just released! v0.1

@skenow this is a correct way now to do that -> dmFncmFudCBwbHVnaW4gaW5zdGFsbCB2YWdyYW50LWltcHJlc3Nib3g= :)