PHsPeed version 3.3 Released

 administrator    17 Feb 2024
 None    Releases


This version brings all the goodies that we reported in the previous posts.

This version brings all the goodies that we reported in the previous posts. Enjoy!

Of course, we are already working on version 3.4.

One of the significant questions is when we will support HTTPS from within our IDE. It was not our highest priority, as you can always deploy your application under https. However, some users argued that HTTP is not mainstream anymore and that security departments demanded that they should work under HTTPS, and HTTP was about to become forbidden. As we listen to our customer's needs, we have been working to achieve that. The current status is that 3.4 will allow HTTPS from within the IDE. There is a catch, though.

PHsPeed uses a self-signing certificate running under localhost. Many browsers will not allow that due to more restrictive security measures. We solved that in our embedded Chromium browser by automatically accepting this certificate. In Chrome, you can also do this, but the browser will signal that the connection is not safe (due to the self-signed certificate). You might need to set up a certificate of your own, mainly if you use another browser. I.e., a let's encrypt certificate.

Another important question was about the restrictions that Chrome is implementing that will prevent the use of externally stored javascript and other libraries and its consequences for applications that are developed with PHsPeed. If you use PHsPeed as it comes out of the box, then you are safe. PHsPeed uses its own library that you need to deploy on your server. You can find all that is necessary in the _libs folder. However, it is possible to configure PHsPeed to use external references. An advantage would be that you always run the latest version of the libraries, but the main disadvantage until now has been that new versions could introduce issues. We are having an internal discussion on whether you should deprecate the use of embedding externally hosted libraries. Please let us know your thoughts. If the steps of Chrome are being followed by other parties (probably Edge, and maybe Firefox or Brave), then it is very likely that we will deprecate this feature of PHsPeed. For users that rely on this, there is no need to worry as you can easily switch over to locally hosted libs by setting just a parameter and uploading the runtime.

Fixes and enhancements for version 3.4 are currently:

  • PHPMailer: automatic cleaning of addresses and attachments
  • added move to clipboard autoloader
  • reorganised UI to support lower-resolution screens
  • relocated functions to make the IDE less overwhelming
  • added edit functions for Project attachments
  • added php autoloader to the component file
  • run button added pull down to enable/disable debug mode and shortcuts
  • bugfix: redir in non-ajax situations will now work as expected
  • Added documentation entry in the project tree to support SQL (ddl) and (readme) rtf files. It is now possible to deploy your application with the appropriate documentation and DDL (PHsPeed uses this for some of the sample applications)
  • bugfix: debugger stops itself after a network error. Prior the IDE would become unresponsive.
  • support for HTTPS in the IDE

Happy coding!

XDebug stable released

 administrator    11 Dec 2023
 None    blog


So we started our beta test...

Good news! XDebug has released a stable version that is compatible with PHP 8.3. Because of that, we started beta testing and expect to release PHsPeed version 3.3 in January. The PDO drivers for SQLServer are not yet available, so if you are on SQL Server, you must wait until Microsoft releases them. But until then, you will still have the benefits of the improvements.

We have gotten some questions about road mapping and the numbering of releases. I'm most happy to answer these.

Regarding the road map for future releases, we have several plans.

1. Support for HiDPI monitors.

We have made some corrections that fix some issues when you run on 2K monitors. However, on 4K monitors, the icons become too small and several other problems will occur. It is always possible to use a lower resolution, but to switch between them is not very handy. The main problem is that the tool we use to develop our IDE is not HiDPI aware for all components, especially those of 3rd parties. We depend on those but are actively working to help fix them. We will not release it tomorrow, but we are slowly integrating fixes that are downwards compatible. For one, we must change the icon sets used, as we require different resolutions. As many icons are used, it is quite a time-consuming task to find and implement suitable icons.

2. Create your own components.

In future releases, it will become possible for you to write your own components, and we have plans to open a marketplace for them. We have already started to implement the tools in the IDE, but as above, it will be introduced step-by-step. Currently, the scripting language is implemented, and you can open component forms, to look at properties and events.

3. Bootstrap 5.

As we use many open-source (MIT) components, we depend on the availability of those components regarding compatibility with Bootstrap 5. We will adopt Bootstrap 5 it is already there, but not fully supported yet. There is no rush, as there are many sites that even work fine under Bootstrap 3. But we try to keep up with all developments in that regard.

4. New components

We release new components on a regular base. We changed the lanes component to provide better support for writing Kanban-like dashboards. But we will also implement new components that will make developing dashboards easier, like gauges for example.

Of course, we are always eager to find out your requirements to improve PHsPeed. So don't hesitate to contact us if you have ideas, remarks, or any other reason why you need contact.

Finally something about our version numbering.

You are presented with two different numbers when you install a new version. The first one is the version number or the PHsPeed IDE. For instance, 3.3. A build number like B1, B10, etc follows that number. These are the official release numbers. If the build version increases, there are mostly bug fixes or minor improvements. But when you are requested to install a newer release a simple number is presented, i.e. 350. And it is very well possible that your previous number was 342. To understand this principle I need to explain how we maintain our development.

In development, we are constantly working on a new release. When we think it is ready for testing, we deploy it in a different environment to test the installation procedure. We also try how the product runs under different versions of Windows, databases, etc. Every time we deploy the application, regardless of the reason, the release number increases. So, usually, there is a gap between the release numbers as we always test in a separate environment. After all, you only see the official releases.

Happy coding!

PHP released version 8.3

 administrator    23 Nov 2023
 None    blog


Today (23rd of November), PHP 8.3 was released.

Today (23rd of November), PHP 8.3 was released. It brings many enhancements and speed improvements. As PHsPeed, we have been working with PHP 8.3 since the first Release candidate, and so far, we have found no issues in our run-time modules, which is good news.

However, we cannot release the support for PHP 8.3 by PHsPeed, although it is fully ready in our development environment. The main reason is that XDebug, the tool that we use in our debugger, is still in the Alpha release. Although it works like a charm, we still consider this a risk, and as a basic principle, we do not want to release PHsPeed versions with tools that do not have a production status and are still in Alpha. For your development, it has no consequences as you can develop under PHP 8.2 and migrate when PHP 8.3 becomes available.

Users of SQL Server need to wait anyway because Microsoft hasn't released their PDO drivers for PHP 8.3 yet. I hope they will release them soon, but it took a couple of months before they released the drivers for PHP 8.2, and it may take a similar amount of time.

Due to changes in XDebug, we had to make some changes in PHsPeed to fix compatibility issues.

The first issue is that the application will generate obscure errors when you start a program in normal mode while XDebug is loaded. We fixed that by loading php.ini, depending on the status. This does take a bit of time as Apache needs to shut down, php.ini copied, and Apache restarted.

Another issue (not XDebug related) is that sometimes PHP files are locked by Apache when you are debugging and closing the debugger. We fixed that by restarting Apache when you run the application.

Finally, there is a DLL conflict between the XDebug environment and Apache environment. They both use a DLL, but of different versions. We have fixed this by changing the Apache environment.

Of course, when we release the next version of PHsPeed, there will also be a lot of improvements, fixes, and enhancements. The list (so far, and not complete).

 - support for PHP 8.3
 - upgraded XDebug
 - upgraded Summernote
 - upgraded JQuery
 - support for dblabel in form generator
 - setting for not-editable form (results in dblabel fields)
 - improved several hints
 - added a button to refresh database connection properties from the db config
 - free html formatted field
 - on creating events, additional remarks are added as an extra guide
 - when selecting an event, the use is also displayed in the property editor
 - if a cdbgrid is used in a module, then user buttons are now supported
 - you can now test your application containing cloudconnector(s) with the application parameters option
 - new property columnwidth for dbtable columns
 - edited record now stay in focus.
 - the rownumber is not reset to 0 after update but rewound to the original.
 - support for multi-step form
 - New lanes component for creating kanban like boards (replacing the current implementation)

// fixes
 - setting dbfields visible/invisible is fixed (could not unset invisible)
 - label pdevtools removed (annoying label with no purpose)
 - bulk edit now accepts label fields
 - label behaves as any input field.
 - snippet code generator simplequery quote fix and improved to only use field in where
 - template component now supports all predefined modes.
 - reimplemented a move of rows/columns to avoid the original issue that sometimes the changes revert.
 - Data structure treeview corrected for the situation that refreshing the tree could caused stacking
 - Required on dropdown is now working
 - Custom fields in DBTable could corrupt insert and update statements.
 - Webserver is reset before run, fixes issues with files being locked while debugging.

PHsPeed is continuously working to improve the product, and we also have great plans for the following releases. But we're always open for good ideas. So if you have remarks, ideas, and even complaints, please let us know.

Happy coding!