Skip to content

Commit

Permalink
- The HoloNETDNA and HoloNETEntryDNA are now stored in AppData instea…
Browse files Browse the repository at this point in the history
…d of the current working directory to avoid permission issues.

- Updated HoloNETDNAManager in HoloNET.Client.

- Updated HoloNET Test Harness (removed private info).

- Updated HoloNETEntryDNAManager in HoloNET.Manager.

- Updated ucHoloNETEntryAndCollectionSharedPopup in HoloNET Manager (removed private info).

- Bumped HoloNET Manager to v3.0.4.

- Updated HoloNET Manager release notes.

- Updated HoloNET Client release notes.
  • Loading branch information
dellams committed May 5, 2024
1 parent ba36c5e commit 71b540f
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ namespace NextGenSoftware.Holochain.HoloNET.Client
{
public static class HoloNETDNAManager
{
public static string HoloNETDNAPath = "HoloNET_DNA.json";
//public static string HoloNETDNAPath = "HoloNET_DNA.json";
//public static string HoloNETDNAPath = "HoloNET_DNA.json";
public static string HoloNETDNAPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NextGenSoftware\\HoloNET\\HoloNETDNA.json");
public static IHoloNETDNA HoloNETDNA { get; set; } = new HoloNETDNA();

public static IHoloNETDNA LoadDNA()
Expand Down Expand Up @@ -55,6 +57,11 @@ public static bool SaveDNA(string holoNETDNAPath, IHoloNETDNA holoNETDNA)
if (holoNETDNA == null)
throw new ArgumentNullException("holoNETDNA", "holoNETDNA cannot be null."); //TODO: Need to come back to this since this exception will always be caught below! ;-)

FileInfo fileInfo = new FileInfo(holoNETDNAPath);

if (!Directory.Exists(fileInfo.DirectoryName))
Directory.CreateDirectory(fileInfo.DirectoryName);

HoloNETDNA = holoNETDNA;
HoloNETDNAPath = holoNETDNAPath;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<Authors>David Ellams (NextGen Software Ltd)</Authors>
<PackageTags>holochain;net;unity;client</PackageTags>
<PackageReleaseNotes>
This is a very small release with minor bug fixes such as if there is a problem writing the embedded holochain.exe or hc.exe to the current working directory it will now write them to the AppData folder as a fallback, the error handling has also been improved.
This is a very small release with minor bug fixes such as if there is a problem writing the embedded holochain.exe or hc.exe to the current working directory it will now write them to the AppData folder as a fallback, the error handling has also been improved. It also now writes the HoloNETDNA to the AppData folder as the default to avoid windows security issues.

**NOTE: The documentation is still for the previous version, please bare with us while we update this soon... thank you!**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ public static async Task TestHoloNETClientAsync(TestToRun testToRun)
FirstName = "David",
LastName = "Ellams",
DOB = Convert.ToDateTime("11/07/1980"),
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
IsActive = true
};

Expand Down Expand Up @@ -264,7 +264,7 @@ public static async Task TestHoloNETClientAsync(TestToRun testToRun)
FirstName = "David",
LastName = "Ellams",
DOB = Convert.ToDateTime("11/07/1980"),
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
IsActive = true
};

Expand Down Expand Up @@ -359,7 +359,7 @@ public static async Task TestHoloNETClientAsync(TestToRun testToRun)
FirstName = "David",
LastName = "Ellams",
DOB = Convert.ToDateTime("11/07/1980"),
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
IsActive = true
};

Expand Down Expand Up @@ -1036,7 +1036,7 @@ private async static void _holoNETClient_OnReadyForZomeCalls(object sender, Read
id = Guid.NewGuid(),
first_name = "David",
last_name = "Ellams",
email = "davidellams@hotmail.com",
email = "davidellams@superland.com",
dob = "11/07/1980",
created_date = DateTime.Now.ToString(),
created_by = _holoNETClientAppAgent.HoloNETDNA.AgentPubKey,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,14 @@
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
{
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
}
}
}
}
"Release"
Expand Down Expand Up @@ -227,15 +235,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:HoloNET Manager"
"ProductCode" = "8:{84EE6FFB-2E9D-45AE-BCB1-68E3E5C79AF6}"
"PackageCode" = "8:{052C5C8A-7933-42E1-8345-7390A9FB187B}"
"ProductCode" = "8:{196A57E0-AA39-4B2C-800B-C6C7EA2D6AA8}"
"PackageCode" = "8:{771F3055-F34D-41E8-9202-F6393EF75224}"
"UpgradeCode" = "8:{338A7AE7-A592-47E8-A973-827E3C875541}"
"AspNetVersion" = "8:2.0.50727.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:3.0.3"
"ProductVersion" = "8:3.0.4"
"Manufacturer" = "8:NextGen Software Ltd"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:http://www.holo-net.com"
Expand Down
2 changes: 1 addition & 1 deletion NextGenSoftware.Holochain.HoloNET.Manager/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@

<!--<Label x:Name="lblHeading" MouseDown="lblHeading_MouseDown" Grid.Row="0" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" Margin="20" FontSize="44" Content="NextGen Software HoloNET Manager v1.1" VerticalAlignment="Center">-->
<!--<Label x:Name="lblHeading" MouseDown="lblHeading_MouseDown" Grid.Row="0" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" Margin="20" FontSize="22" Content="NextGen Software HoloNET Manager v1.1" VerticalAlignment="Center">-->
<Label x:Name="lblHeading" MouseDown="lblHeading_MouseDown" Grid.Row="0" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" Margin="20" FontSize="30" Content="HoloNET Manager v3.0.3" VerticalAlignment="Center">
<Label x:Name="lblHeading" MouseDown="lblHeading_MouseDown" Grid.Row="0" HorizontalAlignment="Center" Foreground="White" FontWeight="Bold" Margin="20" FontSize="30" Content="HoloNET Manager v3.0.4" VerticalAlignment="Center">
<Label.Effect>
<DropShadowEffect BlurRadius="22" x:Name="glowEffectTitle" ShadowDepth="7" Opacity="1"
Color="White"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ namespace NextGenSoftware.Holochain.HoloNET.Manager.Managers
{
public static class HoloNETEntryDNAManager
{
public static string HoloNETEntryDNAPath = "HoloNETEntryDNA.json";
//public static string HoloNETEntryDNAPath = "HoloNETEntryDNA.json";
public static string HoloNETEntryDNAPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "NextGenSoftware\\HoloNET\\HoloNETEntryDNA.json");
public static HoloNETEntryDNA HoloNETEntryDNA { get; set; } = new HoloNETEntryDNA();

public static HoloNETEntryDNA LoadDNA()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,11 @@
<Authors>David Ellams (NextGen Software Ltd)</Authors>
<PackageTags>holochain;net;unity;manager;ui</PackageTags>
<PackageReleaseNotes>
This release is a MAJOR release and milestone, HoloNET has been re-written from the ground up with many improvements, bug fixes etc. Part of this includes making it compatible with the latest beta version of Holochain. It has also been upgraded to work with the latest version of .NET (v8.0) so has even further performance improvements, bug fixes, etc.

HoloNETClient has now been split out into HoloNETClientAppAgent, HoloNETClientApp &amp; HoloNETClientAdmin so is now more in line with the rust and js clients so existing hc devs will now find it more familiar! ;-)

This release also features the new HoloNET ORM (Object Relational Maping) package. This consists of the HoloNETEntryBase, HoloNETAuditEntryBase, HoloNETCollection and HoloNETObservsableCollection classes. The first two can be extended to create your HoloNET Entry models that map directly onto your data structs in your rust hApp zome code. The second two are collections of these entries. You can then simply call basic CRUD methods on your classes such as Load, Save, Delete, etc making it very quick and easy to build hApps without having to worry about the lower complexities of Holochain or configure and use the Holochain Conductor or API's. You also get change tracking, version control &amp; rollback functionality for free. More documentation will be coming soon for this...

HoloNET ORM allows any existing .net app/website/game/service to be rapidly and quickly converted to a Holochain hApp with very little code changes (you can simply add a new attribute to the properties in your models) and it will now map to your rust hApp structs (which WEB5 STAR ODK/HDK) can also dynamically generate (it generates rust and c# code). Your hAPP will also be metaverse ready because STAR is also a interoperable metaverse generator (hence the name! ;-) ) and can also connect &amp; bridge to any web2 or web3 provider thanks to it being built on the WEB4 OASIS API.

This release also features a new HoloNET Manager UI (think Launcher/Dev Store for .net and then some!) which show cases all of the advanced features of HoloNET Client and HoloNET ORM. This has many generic backend and UI components that can be used to allow other .net devs to rapidly construct their own .net hApps using HoloNET HDK. Yes, that is right, this client has grown so much now that it is now in a number of packages forming the official Holochain .NET HDK. This includes the WEB5 STAR ODK/HDK No/Low Code Generator allowing you to generate hApps built on top of the HoloNET Client and HoloNET ORM from simple metadata (this part is in alpha and will be shortly released). The HoloNET Manager is currently implemented in WPF but we have plans to port this to Uno, MAUI &amp; OpenSilver meaning it can run natively on Windows, Mac, Linux, TV's, IPads, tablets, android, IOS &amp; web. The work for this has already begun so expect future releases soon...

This release now fully implements the full Holochain Conductor Admin API so is now on par with the javascript and rust clients.

Finally this release also features HoloNET HyperNET allowing Unity and Unreal games to implement lag free P2P networking with near unlimited number of players to play online smashing previous limitations on classic cloud/server hosting.

This is the BIGGEST update to HoloNET to date and is pretty much a whole new product now! ;-)
This is a very small release with minor bug fixes such as it now will write the HoloNETEnryDNA to the AppData folder.

**NOTE: The documentation is still for the previous version, please bare with us while we update this soon... thank you!**

*Full Changes Below:*
Too many to list here, please view the changelog below.

*Full Changelog:* https://github.com/holochain-open-dev/holochain-client-csharp/compare/v2.2.0...v3.0.0
*Full Changelog:* https://github.com/holochain-open-dev/holochain-client-csharp/compare/v3.0.3...v3.0.4

NuGet Packages:

Expand Down Expand Up @@ -94,7 +77,7 @@
<!--<PackageLicenseExpression>GNU GPLv3</PackageLicenseExpression>-->
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
<Version>3.0.3</Version>
<Version>3.0.4</Version>
<!--<PackageLicenseFile>..\LICENSE</PackageLicenseFile>-->

<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "David",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -470,7 +470,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "James",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -483,7 +483,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "Noah",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -500,7 +500,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "Elba",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -513,7 +513,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "David",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -526,7 +526,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "James",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand All @@ -539,7 +539,7 @@ private void MockData()
Id = Guid.NewGuid(),
FirstName = "Noah",
LastName = "Ellams",
Email = "davidellams@hotmail.com",
Email = "davidellams@superland.com",
DOB = new DateTime(1980, 4, 11)
};

Expand Down

0 comments on commit 71b540f

Please sign in to comment.