Re: ImpressCMS 2.0 Beta 2

Good news, I have tested the core on PHP 8.3 and I didn't get any errors in the tests that I could do. I do have problems with the content module, it gives me a white page once I set my server to PHP 8.3, so there is some incompatibility there.

Topic | Forum


Upcoming release of imBlogging 1.2.0

There have been 2 main initiatives with this module and they are worthy of a new release of imBlogging. The first is the utilization of page information in generating meta tags which was discussed in this thread. The second is leveraging the ability to apply permissions to posts for viewing - Recent post and original post.

In the 1st initiative, the index page of the module can have several different lists of posts - all posts, posts in a category, or posts by a particular author. This new update will enable you to set META keywords and a META description for the module (these were already enabled for individual posts). imTagging, the companion module for creating and managing categories, had the meta properties for the categories already. Combining all these features now generates different page titles for the index page depending on the parameters used to generate it (all posts, category, or author).

In the 2nd initiative, default permissions can now be set at the module level, in preferences. If you are upgrading your module and already have posts published, the upgrade script will determine the view permissions for the module granted to each group, save them as the default permissions for new posts, and apply to all existing posts. When you add new posts or edit existing posts, you can change the permissions on them individually. (next phase is to apply to multiple posts at once). This gives you the ability to limit what viewers see, based on the user group they belong to.

Both these modules have also been prepared for the upcoming release of ImpressCMS 2.0, along with running on PHP7 and PHP8.

Topic | Forum


Re: Automatic database upgrade for non-module objects?

After looking at this a bit more, I have submitted changes that will look at these 2 tables every time the system module is updated. It might be good to do the same in 1.4.7.



Re: ImpressCMS 2.0 admin theme

I am in the works of building a new admin theme based on the Bulma (bulma.io) CSS framework. First I want to see how far I can get by using the standard Bulma layout and colours.

It is coming along nicely, and one of the goals is to have a completely mobile experience as well.


Attach file:



png  icms-bulmadmin.png (87.20 KB)
1102__24217670931e28e39d.png 1404X861 px


Re: Baffled by my browser

1.3.11 dates back to 6 years ago https://github.com/ImpressCMS/impresscms/releases/tag/v1.3.11 so it might be considered ancient in web terms.

But you're right, there are better things to do with the limited time we have available.



Re: Baffled by my browser

Adding the trailing backslash didn't have any impact in Firefox and the other browsers didn't care.

It is an older version - but not too old - 1.3.11. I did a completely new install of the core, then added the module folders, themes, and uploads. At that point, Firefox would open the site when the URL was localhost. Once I switched to the site's database, Firefox wouldn't load the site when the URL was localhost/xxx. Copies of other sites opened up just fine.

There has to be something in the data stream that comes from the db that Firefox just stops loading the page (all pages on the site - so in the header). Unless the URL is changed to computername.local/xxx for this site only.

There are better things to figure out and I'll just adjust and move on for now.



Re: Baffled by my browser

I seem to recall a long time ago, I had similar behaviour on Chrome at that time (several years back). Does it work if you add a slash '/' at the end of the address?

What is the exact version of ImpressCMS you're having the issue with?



Re: Baffled by my browser

I'm still baffled, but I have a way to view this local site with Firefox. I changed the hostname in mainfile.php from localhost to laptop-steve.local {(the computer name).local} and it worked. ??? Other sites on this same laptop don't have to be addressed this way (the fresh install of ImpressCMS I used to troubleshoot didn't).



Baffled by my browser

I restored a recent backup of a site on my local computer and for some reason, Firefox will not display anything. There are no error messages in the apache logs or PHP logs. I went through my usual diagnostics - emptied cache and cookies, restarted the browser, turned off all extensions. And, it has no problem viewing the live site.

After uninstalling and reinstalling Firefox (on Ubuntu 24.04), I still haven't found the problem. To eliminate the server settings, I opened up another browser - several in fact - and they can view the local site without any problems.

Next, I installed a fresh copy of ImpressCMS and copied the modules from the production site in, and installed them without any problems. Change the database the site pointed at - blank page.

I've emptied the sessions table in the restored database - no change.

Any other things you can think of?



Re: Automatic database upgrade for non-module objects?

If it is feasable to make this automatic, it would be best.



Re: Automatic database upgrade for non-module objects?

I had a good solid foundation for the solution - thanks to all the work others had done before me. I would like to test a few other things and then I'll create a pull request to add this in. What do you think about making this a default action of the system module update, rather than just a step?



Re: Automatic database upgrade for non-module objects?

this looks like a very elegant and minimalistic change, kudos for that!

Taking the module upgrade route would also have been my choice.



Re: Automatic database upgrade for non-module objects?

Well, some experimenting has gotten me the results I was looking for - with a pretty small change to icms_db_legacy_updater_Handler::upgradeObjectItem(). Here's how the first lines look -

  function upgradeObjectItem($dirname, $item) {
        $module_handler = icms_getModuleHandler($item, $dirname, null, true); // this is changed

        if (!$module_handler) { // added this branch
                $module_handler = icms::handler($dirname . '_' . $item);
        }
        if (!$module_handler) {
                return false;
        }

Then, in the system module's upgrade file I added at the end

    if (!$abortUpdate) $newDbVersion = 45;
    
    if ($dbVersion < $newDbVersion) {
        $icmsDatabaseUpdater->automaticUpgrade('icms_data', array('file', 'urllink'));
        /* Finish up this portion of the db update */
        if (!$abortUpdate) {
            $icmsDatabaseUpdater->updateModuleDBVersion($newDbVersion, 'system');
            echo sprintf(_DATABASEUPDATER_UPDATE_OK, icms_conv_nr2local($newDbVersion)) . '<br />';
        }
    }        

After upgrading the system module, I had the 2 tables I needed. Updates of other IPF modules still work.

Any unexpected risks? Another few sets of eyes on this would be fantastic!



Re: Automatic database upgrade for non-module objects?

It would be a major undertaking to rework this and I was hoping there was something to leverage that I wasn't seeing. In order to get this done and the keep this release moving forward, there's a couple of ways to proceed.

1. Do what's been done in other releases and include the table structure manually in the upgrade script (see modules/system/include/update-13.php)

2. Replicate the icms_db_legacy_updater_Handler::upgradeObjectItem() method and modify the new method (or just embed it in the upgrade script) to not rely on the object being part of a module

3. Find a way to modify the icms_db_legacy_updater_Handler::upgradeObjectItem() method to allow for other objects like these in different locations (the library folder), or at least for these 2 objects and their tables.

If we can get it done and take a small step in the right direction to deal with all the other components, that would be ideal.



Re: Automatic database upgrade for non-module objects?

The system module is a strange animal On the one side, it contains functionality that should be part of the IPF classes, on the other, it looks like a mini-core,with submodules that are similar to full-fledged modules, but not quite.

I discussed some time ago with Mekdrop that we should be downsizing the system module and spinning out some of those functionalities into separate modules (like comments, ratings, ...). That would solve some of those issues, but that's not for right away though.



Automatic database upgrade for non-module objects?

I am working on migrating some modules and started with downloads. I discovered my site did not have icms_data_file and icms_data_urllink tables in the database because we never added them to the upgrade scripts when we added them to the installer (in version 1.3.0). The Downloads uses those tables and I'm working on adding them to the database and addressing this for anyone else who might be in the same situation.

If these were module tables, there is an automatic upgrade method that looks at the object and its variables and determines the name and structure for the tables and adds or applies any necessary changes. At this point, I haven't found similar methods for these objects - and there are quite a few. Avatars, comments, notifications, files, URLs, images and image categories, users, groups, group permissions, private messages, autotasks, blocks, ranks, templates, and probably a few more - I haven't gone through them all. They all seemed primed and ready for this approach - am I missing something?



Re: Replacing Slack by Discord

yes, the new restrictions on Slack are pushing 'freeloaders' away, but I suspect that is the underlying reason Slack is now becoming tougher for non-paying users. The era of free money is over, and all these tech companies are now facing the harsh reality that someone needs to pay their bills. Reducing the bill by reducing the non-paying users is an easy step in that way.



Re: Replacing Slack by Discord

Yeah. forums wouldn't work well for instantaneous conversations. Private messages or email also have some delays. For us - we're separated by a lot of time zones, so when I'm posting this, you're asleep. When I get home from work and can sit at the computer for a while, it's 7pm GMT-5. Just so we know people are listening, this was on my suggested posts today - https://www.wired.com/story/how-to-move-slack-archive-to-discord/



Re: Replacing Slack by Discord

A temporary link is available here to test : https://discord.gg/uTu7cdchCd

The import is being throttled, so I'll resume the remaining channels tomorrow. The most important ones are already there



Re: Replacing Slack by Discord

I don't know. Real-time chat has different discussions and needs than in a forum. The 'hey, how are you and how is the weather?' messages don't really go well on forums I think




 Top