New admin theme - no change

<p>Hi,</p>

<p>I'm working on a new admin theme that should be clean and very light based on bulma (https://bulma.io). I was hoping to include it with ImpressCMS 1.4 as a responsive, modern alternative admin theme.</p>

<p>I have the admin section itself working more or less (always a few details that crop up from time to time) but I seem to hit a blank when I adapt the template files for the different pages in the system module. When I change the template files in the module itself, I get the results I want, but when I update the correct files in the theme (like I do with all other template files), nothing happens. Is the 1.4 system module not ready to be skinned by a theme?</p>

Topic | Forum


Re: Working on ImpressCMS - micro-blog

I just returned from Laracon EU in Amsterdam after 2 days of inspirational talks and exchanges with members from the Laravel community. Several talks in the unconference caught my attention: How did they organize in Github to manage ideas, development and bugs, and another one was about how to take on a legacy program and move it over to Laravel.

Although one of my projects in the near future will be to work on a laravel-based instance of ImpressCMS, something more directly actionable came from the talk by fellow-countryman Dries Vints, who works at Laravel. In order to keep focused, they have an entry repository in Github where ideas are posted, and where discussion around those ideas is done. From time to time, they go over these ideas and decide to implement some of them.

That means that their base repository only contains tickets that are ready to be worked on, and the list isn't 'polluted' by wild discussions that go nowhere.

As a result, I created a new repository this morning for ideas (https://www.github.com/impresscms/ideas/issues), and I am currently transferring as many tickets that aren't yet fully worked out towards that repository.

Topic | Forum


Module testing for ImpressCMS 1.4/PHP7

<p>Hi,</p>

<p>for ImpressCMS 1.4, the second alpha release should be feature complete, we're just waiting for the transformation of the protector module in order to start with beta releases. That means that it is possible in the meantime to begin testing the compatibility of existing modules with this new version of ImpressCMS and PHP.</p>

<p>Modules that I will be checking in the next few days :</p>

<ul>
<li>tools</li>
<li>sprockets</li>
<li>news</li>
<li>billboard</li>
<li>iforum</li>
</ul>

<p>Feel free to add test results of other modules to this thread.</p>



Re: Improve your SEO knowledge with Woorank

<p>This is good! I also have been learning the internet marketing basics so that can manage my website’s promotional work on my own. Since I have been learning these techniques, I am relying solely on <a href="https://www.heymarket.com">business sms</a> marketing method. Must admit that the results are epic with it!</p>



Re: Improve your SEO knowledge with Woorank

<p>The link in the first post isn't correct anymore. It's now updated to the correct one. There are many services like Woorank that offer insight in your site with actionable information to improve SEO, but they're Belgian so I thought I should mention some countrymen of mine.</p>



Status of 1.4

In my previous post, I was too optimistic about what needed to be done in order to get ImpressCMS 1.4 finished for global consumption. Because we want to be compatible with as many PHP 7 versions as possible, some PHP libraries will need to be updated as well.

One of the libraries that has been particularly problematic every time we touched it, is Smarty. We're still using Smarty 2, but the implementation we inherited from previous ImpressCMS versions is very much intertwined with the core. Combine that with the fact that a problem in Smarty usually takes us to a totally blank screen, and you have a hard to debug library upgrade on your hands.

Combined with holiday and heatwave periods, pace has been slow for now. I expect this to continue a for another few weeks, but I will try to finalise some tasks every few days.



update 8 june 2019

I've had some interference by Life (tm) recently : either it was scorching hot, which didn't really tempt me to sit in front of a computer and sweat just because of the temperature, either we were having heat thunderstorms, and I was battling a leak in our roof. all of those aren't conductive to development sadly

That period seems to be over now (the leak is fixed, and the sun seems to be burning elsewhere), so now I can start finishing the 1.4 release.

ImpressCMS 1.4

As a matter of fact, the only thing that still needs to be done (and that is holding up that release of course) is the update procedure. The 1.4 release removes the banners functionality in the core, and replaces it with the banners module. That is a migration script that needs to be tested.

We're celebrating Pentecost tomorrow, and that means that we have a holiday on monday. Normally, I should have the 1.4.0 beta release out by monday evening to test the migration routine.

ImpressCMS 2

Not much progress on the composer integration until now. I really want to get this up and running, but composer is not easy to understand nor to debug.



Re: some miss?

No problem. I think I'll have to update the documentation on how to create a ticket on github, that will be a good opportunity.



Re: some miss?

Sorry, I don't understand  how to use github

 



Re: Forum bugfix

Thank you for the confirmation! As it happens more with bugs that don't appear al the time to everybody, it was difficult to find out where the issue was, and during the iterations where we tried to fix the bug, we weren't 100% sure that it was well and truly squashed.

Given that you consistently had the problem, and you confirm now that it no longer affects you, I'm more confident that the bug is gone.



Re: Defining modules and plugins in a composer world

yeah... probably that is so called.



Re: Defining modules and plugins in a composer world

Interesting point, in a way we would use events to do some kind of observer pattern, am I correct?



Re: Defining modules and plugins in a composer world

Probably if we could fix our events system we could make modules do stuff that we trying todo with plugins. F.e. module that can use sitemap functionality could trigger some events that could be handled by sitemap module. If there are no such module, these events will be ignored.



Re: some miss?

Hi, 

I made 2 pull requests for these changes : 

Thank you for the info! Do not hesitate to make a github account and propose changes like this yourself diretly via Pull Request.



Re: Improve your SEO knowledge with Woorank

  • 2019/5/22 23:31:00
  • vipul

<p>seo is important for online marketing. seo is the process of keep changing the position of web site &nbsp;on search engine .</p>



Re: Forum bugfix

I guess it's all good now :)



Re: some miss?

Hello,

those are locations that cannot be visited directly. Can you explain what page you visited and what action you made when you received the error?

Thank you for the feedback!

Kind regards,

David



some miss?

libraries/icms/object.php

in switch 

forexample

                       if ($v['required'] && $cleanv != '0' && $cleanv == '') {
                            $this->setErrors(sprintf(_XOBJ_ERR_REQUIRED, $k));
                            continue;
                        }
and I had PHP error and I change continue to break.

libraries/icms/textsanitiaer.php

line 244

if($html=0) --> if($html==0) ???

libraries/icms/form/element.php

line 345

            return "if (myform.{$eltname}.value == \"\") { window.alert(\"{$eltmsg}\"); myform.{$eltname}.focus(); return false; }";
--->

 if($eltname)
           return "if (myform.{$eltname}.value == \"\") { window.alert(\"{$eltmsg}\"); myform.{$eltname}.focus(); return false; }";

???

plugins/preloads/autologin.php

line 52

$criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('uname', $uname4sql));

-->

$criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('login_name', $uname4sql));

???

Thanks



Re: A project I've been putting off - ICMS 1.2.x to 1.3.x

I'll have a look if I can find the migration script we had for the imblogging module, I think it could be useful for moving over the original news to the new news module by @madfish.

The permissions in the IPF modules until now have been handled exclusively in the 'groups' section of the system module, and there is no permissions handling done anymore in the module itself. That is a part that would be missing right now.



Defining modules and plugins in a composer world

in all ImpressCMS versions until now, (1.4) we are basing ourselves on the file location to determine whether a folder contains a module, a theme, a translation or a plugin. Autoloading and composer have allowed us to look into changing that concept a bit.

With composer, it is perfectly possible to change from one library to a fork, while keeping the same development interface. All packages are bundled under the 'vendor' folder now, without indication what type of library they are.

In the case mentioned above, it could be that that fork is more actively maintained, or contains specific code that didn't make it into the main library. Moving to another maintainer of the library makes that the file location of your library will change under 'vendor'. Fortunately, autoloader takes care of the discovery aspect for you : you just tell it that you need class X, and the autoloader matches that with the file that needs to be loaded to make class X available, without you needing to knpw the name of the file on beforehand.

If we take the same concept and apply it to modules, themes and plugins, ImpressCMS still looks in specific locations for certain addon types. we look for modules by reading the icms_info.php files in the subfolders of the 'modules' folder, we look for themes by checking if there is a theme.html in te subfolders of 'themes', and so on for translations and editors.

One place where this is problematic, is with plugins. For example, the sitemap module has plugins for a long list of external modules, to help it understand the content of those other modules, and construct a correct sitemap from them. At the moment, those plugins are bundled with the sitemap module, and they are stored in a subfolder of the sitemap module folder. 

That poses a problem if we want to add a plugin for the sitemap module from another module without resorting to copying files from one location to another, or having specific 'registration' routines. Here, the PHP Reflection API comes to our rescue. It allows us to scan all the classes in the system, and identify the class interconnexions. Which class is a subclass of ipf_module, for example, and which class is a subclass of ipf_module_sitemap. Have a look at StackOverflow for an example.

Perhaps this is worth looking into for future versions, to make management of the different addons and other packages easier and decoupled from the file system.