Skip to content
This repository was archived by the owner on Oct 6, 2019. It is now read-only.

Phoenix maintenance

Choose a tag to compare

@polterguy polterguy released this 19 May 08:39
· 118 commits to master since this release

Phoenix release version 8.1.1

alt logo

About this release

This is a small maintenance release, created mostly because of a bug fix in the core authorisation URL resolver - The [p5.web.load-ui] Active Event in the "Desktop" module. In the previous release, any user would have access to any module's sub-URLs, if the user had access to the module at all. In this release, this has been fixed, such that you can allow access to the root of the module, yet still prevent access to sub-URLs beneath that module - Without having to implement any authorisation functionality in your own module.

This was such a severe security flaw that I chose to create a maintenance release much earlier than what I had originally planned. Sorry about that ...

Using the Source Code version

IMPORTANT - Please download the Source-Complete-With-Submodules.zip file, which includes all submodules. If you get a blank page when debugging, this is highly likely your problem!

Visual Studio for Windows - Make sure you turn OFF the "Browser sync" features of Visual Studio before you start your debugging session.

Please make sure you have installed Visual Studio, Mono Develop, or Xamarin. In addition, you'll need to have access to a MySQL database, and edit your "/core/p5.webapp/web.config" file, such that your connection string points to your MySQL instance. If you don't have MySQL installed, Phosphorus Five will still function partially, such as Hyper IDE, and some of the other modules - But you will not get the full experience.

Installation process (for non-geeks)

  1. Install Visual Studio Community Edition - You can skip this if you already have Visual Studio, Mono Develop or Xamarin installed.
  2. Install MySQL Community Server - You can skip this if you have access to an (other) MySQL server somewhere
  3. Download and unzip Phosphorus Five
  4. Edit your "/core/p5.webapp/web.config" file from Visual Studio, and supply your MySQL password in the "MYSQL_GENERIC_CONNECTION_STRING" section. Below is an example of how your entire connection string setting should look like.
  5. Turn OFF Browser Sync in Visual Studio if you are using the Windows version. This is a toolbar button, that looks like a "round arrow".
  6. Start debugging by clicking "F5" or the "play" button in Visual Studio
  7. Have fun :)

Example MySQL connection string setting from "web.config".

server=127.0.0.1;SslMode=none;User Id=root;Password=YOUR_MYSQL_PASSWORD_GOES_HERE;charset=utf8mb4;allowPublicKeyRetrieval=true;

Exchange the YOUR_MYSQL_PASSWORD_GOES_HERE parts above with your actual MySQL password, which you chose during installation of MySQL.

Notice - The above connection string allows retrieval of the public encryption key over a non-secure connection. This is probably what you want for your local source code and development machine - But you'd probably want to change this for your production website.

Installing binaries on a Linux/Ubuntu server

To install a new binary release on a Ubuntu server, type in the following to download the installation script in a terminal window. Make sure you don't have an old "install.sh" file in the same folder from before.

wget https://github.com/polterguy/phosphorusfive/releases/download/v8.1.1/install.sh

Then execute the following command to make your installation script become an executable.

chmod +x install.sh

Then start the installation process with the following.

sudo ./install.sh

The above "install.sh" script have only been tested on Ubuntu Server, version 16.04.4, but it might work on other versions. You can probably easily edit the actual script yourself, if you'd like to make it work with other Debian based systems.

Documentation

The system is largely literate, and contains its own documentation. However, for convenience purposes, I have included the PDF documentation as a separate file here. You can also generate this file yourself, from within the system.