Phoenix - NUX Micro skin ++

@polterguy polterguy released this Jul 12, 2018 · 2 commits to master since this release

Phoenix release version 8.6

alt logo

About this release

This is a medium sized release, which contains a new Micro skin called "NUX", in addition to that the rendering of Camphora Five apps on devices in particular has been significantly improved. This release also contains two new convenience widgets for rendering checkboxes and radiobuttons in Micro - In addition to several smaller bugfixes.

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

Important - Currently the installation script only works on Linux Ubuntu version 16.04. Sorry for the inconvenience, I am trying my best to fix this though, and will shortly hopefully provide a fix allowing you to install it also on later versions.

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.6/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.

Phoenix minor maintenance release

@polterguy polterguy released this Jul 1, 2018 · 12 commits to master since this release

Phoenix release version 8.5

alt logo

About this release

This is a minor maintenance release with mostly smaller bug fixes, and minor changes. Refer to the CHANGES.md document for details.

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

Important - Currently the installation script only works on Linux Ubuntu version 16.04. Sorry for the inconvenience, I am trying my best to fix this though, and will shortly hopefully provide a fix allowing you to install it also on later versions.

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.5/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.

Phoenix - PGP Lambda Web Services

@polterguy polterguy released this Jun 22, 2018 · 24 commits to master since this release

Phoenix release version 8.4

alt logo

About this release

For this release security has gained (yet more) significant improvements. Among other things, the passwords in the "auth.hl" file are now being slowly hashed with "bcrypt". Internally bcrypt is using a Blowfish algorithm, largely eliminating the ability an adversary has to create a Rainbow/Dictionary attack, if having physical access to the (unencrypted) password file somehow.

PGP Lambda Web Services

Hypereval now contains a generic PGP enabled web service endpoint, that allows you to cryptographically sign and (optionally) encrypt MIME envelopes, passing in Hyperlambda, to be evaluated on the web service endpoint. This allows you to securely have the client supply the code that is to be evaluated on the web service endpoint, resulting that you at least in theory can create a single web service endpoint, solving all your web service needs.

If you wish, you can configure the web service to only allow for certain PGP keys, modify its whitelisted events, and modify tons of other settings allowing you to fine grain access to it, any ways you see fit. The web service endpoint will also by default create a GUI if its initial request is an HTTP GET request, allowing you to play around with code to create web service constructs, you consume in your own code.

In addition, a client side wrapper has been created, who's name is [micro.web-service.invoke], that allows you to easily invoke web services, and does most of the heavy lifting for you.

Refactoring, cleaning up, and further tightening security

Security has gain yet another significant improvement, using "bcrypt" and a Blowfish based algorithm to store the passwords, among other things. Parts of the C# code has been significantly cleaned up, and improved. Among other things, you can now (more easily) exchange the PgpContext your server is using. However, the default implementation is to store the PGP keys in "GNUPG" format, AES encrypted.

Improved PGP administration

The PGP features of Phosphorus Five has been significantly improved, allowing you to among other things, communicate your server's public PGP key outwards from a URL resolved through "Micro". In addition, during the initial setup of your server, you can choose to have your server's public PGP key automatically submitted to a key server of your choosing, and while parsing a cryptographically signed MIME envelope, the system will automatically download any public PGP keys that were used to sign the MIME message.

Parts of this has still not been adequately documented, which will be prioritised in the next release - But if you're interested, you can check out my blog - Or read the source code for details about this.

Breaking changes

There are unfortunately some breaking changes that had to be applied for this version, to increase security. See the CHANGES.md document for details.

Shitty programming contest

Some guy over at the Reddit group called "shittyprogramming" said the following; "Hyperlambda is an amalgamation of busswords and hype". As I defended myself and Phosphorus Five, the debate got a little "heated", and one of the moderators decided to create a "shitty programming death match". This will go down 8PM EST tonight, on the 22nd of June 2018. If you're interested in watching the contest, feel free to check out "Issues" here at the project's GitHub website, since I will be posting a URL from where you can watch the contest being streamed live. The contest will probably last for some 2-3 hours, and you can see the time for the contest in your local time here.

The idea of the contest is to implement some sort of application specification, which neither me nor my opponent will get to know, before the contest starts. The winner is the guy who has finished first. My opponent is the guy who implemented Lily.

The winner will be actively promoted on the sub-reddit, while the looser will be banned from the group. However, I have already told them that I'll leave the group anyway, since my sole reasons for being there in the first place, was to prove them wrong.

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

Important - Currently the installation script only works on Linux Ubuntu version 16.04. Sorry for the inconvenience, I am trying my best to fix this though, and will shortly hopefully provide a fix allowing you to install it also on later versions.

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.4/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.

Phoenix - Fort Knox

@polterguy polterguy released this Jun 6, 2018 · 78 commits to master since this release

Phoenix release version 8.3

alt logo

About this release - Tightening security!

For this release security has gained significant improvements. In fact, I have had a security expert from Reddit performing code review of P5's code, to find things you often tend to overlook when you're too deeply into it yourself. This security expert has several decades of experience, and is an extremely skilled software developer, and he literally went through the system with a microscope! Although the code was found to be in general good shape, there were 3 minor flaws which was pinpointed in this process, which are now fixed.

Encrypting the password file

The most important part is that the "auth.hl" file is now encrypted using PGP encryption. This implies that even if an adversary should somehow gain access to your password file, he'll still have to break through its 4096 asynchronous RSA encryption, which is the recommendation that NSA and the CIA are providing for the public sector in the USA for sensitive information might I add.

In addition, the private PGP key is stored AES encrypted, with a password only accessible from your web.config file. So even if an adversary somehow should gain access to both your private PGP key, and your password file, both of which should be impossible with normal usage of Phosphorus Five might I add - The adversary still needs to gain access to your web.config file. And even if an adversary were to be able to gain access to all of the above - Even after decrypting your password file, the passwords are still stored as server-side salted hashed values. However, even though this is arguably several orders of magnitude better security than you need, security is just one of those things you simply can't get enough of - And it's better to be safe than sorry.

SQL injection and improvements during installation

In addition the code review process was able to find one place where there potentially could occur an SQL injection during restoring a MySQL backup, if the CSV file you're trying to import as a backup had somehow been tampered with by an adversary. The "install.sh" script has also bee upgraded, to now in addition to hide most information about your Linux box, also hide the fact that it's running ASP.NET/Mono.

Of course, security is a constant process, and I would like to repeat that if you find a potential hole in Phosphorus Five, feel free to send me information about it at thomas@gaiasoul.com. You are also free to try to hack my private home server, which you can find here.

About Open Source and Crowd Source

The lessons learned from this process, is that if you only give people the right incentives, they are willing to provide services free of charge for you, for often times thousands of dollars, as long as they can scrutinise your source code. I am of course deeply grateful to /u/Cifize - Feel free to bring forth my thanks to him :)

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

Important - Currently the installation script only works on Linux Ubuntu version 16.04. Sorry for the inconvenience, I am trying my best to fix this though, and will shortly hopefully provide a fix allowing you to install it also on later versions.

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.3/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.

Phoenix - Hyper SQL is here

@polterguy polterguy released this May 24, 2018 · 93 commits to master since this release

Phoenix release version 8.2

alt logo

About this release

This release contains Hyper SQL, a web based and secure alternative to PHPMyAdmin and MySQL Workbench, that renders perfectly (responsive design) on your phone. Hyper SQL features AutoComplete for keywords, tables, and columns in your MySQL database, allows you to save and load snippets from your "SQL snippets library", and is also extremely slick on its bandwidth usage - Allowing for you to use it over "very bad internet connections". One feature I think is unique to Hyper SQL, is that it will allow you to automatically generate charts from your data, if it can semantically understand your data as the potentialdata source for a Pie Chart or a Column Chart. Below is a screenshot of Hyper SQL.

alt screenshot

Below is a screenshot of an automatically generated Pie Chart.

alt screenshot

Hyper SQL was conceptualised, implemented, and released in my "3 day coding challenge", as an example of how much work you can actually get done, in some few days, with a "5th generation programming language" such as Hyperlambda. I consider Hyper SQL to be extremely secure, stable, and mature - Although arguably not having all the features that PHPMyAdmin and MySQL Workbench has.

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.2/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.

Phoenix maintenance

@polterguy polterguy released this May 19, 2018 · 107 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.

Phoenix

@polterguy polterguy released this May 11, 2018 · 123 commits to master since this release

Phoenix release version 8.1

alt logo

About this release

This is a very large maintenance release, and contains almost 200 checkins to the main repository since the last release. Some of its features is an entirely new Camphora Five source base, with hundreds of new features, such as a true API for your apps, and automatically generated chart views.

Micro has been seriously brushed up too, with several new awesome Ajax widgets, such as a Pie chart and a Bar chart widget, in addition to many bug fixes there too.

The Hyperlambda parser has been entirely rewritten, and can now serialise and de-serialise comments, and read files directly from disc several places, instead of having to read them first into memory, for then to handle them.

The documentation has been completely redone, and contains tons of "meta capabilities", automatically extracting all "reference type of documentation", directly from your source code files.

Etc, etc, etc - This is a release I am really proud to present to you.

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=localhost;User Id=root;Password=YOUR_MYSQL_PASSWORD_GOES_HERE; charset=utf8mb4;

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

Notice - If you get weird connection bugs to MySQL, saying something like "retrieval of rsa key is not enabled for insecure connections", then make sure you add the following to your connection string.

allowPublicKeyRetrieval=true;

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/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.

Phoenix

@polterguy polterguy released this Apr 5, 2018 · 320 commits to master since this release

Phoenix release version 8.0

This is the largest, most stable, and high quality release of the system, since its conception. It contains hundreds of bugfixes, new features, significantly better documentation, and should be a real "game changer". The system has been significantly simplified in usage, and stabilised to the extreme.

alt logo

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=localhost;User Id=root;Password=YOUR_MYSQL_PASSWORD_GOES_HERE; charset=utf8mb4;

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

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.0/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.

Air - Maintenance

@polterguy polterguy released this Feb 4, 2018 · 599 commits to master since this release

Downloading the source

To play around with the Source Code version, please recursively clone the main Phosphorus Five repository using Git. Notice, recursively clone it!! After you have cloned the repository recursively, you can remove apps you don't need from the "/phosphorusfive/core/p5.webapp/modules/" folder.

I still haven't created a build system for distributing the source version, which makes the process of creating a source version download extremely tedious. Hopefully, this is something I will find the time for in the near future.

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/v7.2/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

At which point you'll be expected to supply your root password. The above installation script have only been tested with Ubuntu Servers, but might work with any Debian based system. The above script, will in addition to installing Phosphorus Five in your Apache htmldoc directory, also update your Apache configuration for running Mono, in addition to tightening the security of your Apache and Linux installation, such as upgrading your distro, updating components, etc.

About this release

This is a maintenance release for version 7.x (Air), containing several bugfixes.

Air

@polterguy polterguy released this Jan 23, 2018 · 617 commits to master since this release

Downloading the source

Download this file, unzip, open the "p5.sln" file in Visual Studio or Mono Develop, start debugging, supply a root password, choose a skin - And enjoy!

Do NOT download the "Source code" link above - Download this file which includes Hyper IDE, Micro, and everything needed to get started

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/v7.0/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

At which point you'll be expected to supply your root password. The above installation script have only been tested with Ubuntu Servers, but might work with any Debian based system. The above script, will in addition to installing Phosphorus Five in your Apache htmldoc directory, also update your Apache configuration for running Mono, in addition to tightening the security of your Apache and Linux installation, such as upgrading your distro, updating components, etc.

An entirely "new" CSS Framework

This release contains an entirely "new" CSS Framework, with 7 skins, and an extendible CSS framework, allowing you to easily create your own skins. Below you can see how Hyper IDE looks like with the "Air" skin.

alt screenshot

And here is a screenshot of Camphora Five with the "Aztec" skin.

alt screenshot

Below you can see [Sephia Five] with the "Magic Forrest" skin.

alt screenshot

And finally, the main "Desktop" in Phosphorus Five, with the "Air" skin.

alt screenshot

However, there are many more skins in Phosphorus Five besides the ones shown above.