Welcome Guest! To enable all features please try to register or login.
Options
Go to last post Go to first unread
Offline Charles  
#1 Posted : Saturday, May 25, 2019 12:01:21 PM(UTC)
Charles

Rank: Newbie

Reputation:

Groups: Registered, Registered Users, Subscribers
Joined: 5/10/2019(UTC)
Posts: 3

One of the big advantages of .NET Core is that it is cross-platform, supporting Windows, Mac and Linux. In fact most of my .NET Core development has been on the Mac using jetBrains Rider.

While I haven't yet done much with Oqtane, I believe that to be successful, Oqtane must follow this same philosophy, and not take a direct dependency on the Microsoft stack. I am going to spend some time trying to get Oqtane to work on the Mac using a different relational database (ProgreSQL or SQL Lite) that is available on that platform.

Watch out for pull-requests :)
Offline Shaun Walker  
#2 Posted : Tuesday, May 28, 2019 5:30:09 AM(UTC)
Shaun Walker

Rank: Newbie

Reputation:

Groups: Administrators, Blogger, Registered, Registered Users, Subscribers
Joined: 5/9/2019(UTC)
Posts: 8
United States

Was thanked: 6 time(s) in 4 post(s)
I think that cross platform support would be great and could attract a new audience of developers. The main challenges I see with cross platform database support are the following:

- the system will need a way to perform schema creation and management in different databases. This is the most difficult aspect of cross platform database support I have seen in the past. Most ORMs allow you to easily handle querying in various DB dialects but the schema manipulation is usually more challenging and needs to be done with scripts or code-based migrations, and requires resources with specialized skills in each database for maintenance, and testing.

- developers who build reusable third party modules will need to support the same databases that the core platform supports. This creates an extra burden on them as well for development and testing the data layer for their modules.

- developers will want to use database tools where they feel most comfortable and productive. In the Microsoft ecosystem this is usually Enterprise Manager or within Visual Studio. I am not sure if we will be able to convince Microsoft developers to embrace another tool in order to maintain a cross platform data layer ( ie. in SQLite or PostgreSQL ) for Oqtane.

- deployment will eventually be a major consideration and ease of deployment will be critical. It is much easier to optimize for specific deployment environments than it is to support deployment to any environment. My feeling is that the bulk of developers considering Oqtane will be interested in Blazor, and the majority of those developers will be from the Microsoft ecosystem. And those folks are more likely to want to deploy to a Microsoft environment - whether it is on-premise or more likely Azure.

It would be great to hear opinions from the community on this topic.

Edited by user Tuesday, May 28, 2019 5:32:50 AM(UTC)  | Reason: Not specified

Offline Michael Washington  
#3 Posted : Tuesday, May 28, 2019 6:13:54 AM(UTC)
Michael Washington

Rank: Newbie

Reputation:

Groups: Blogger, Registered, Registered Users
Joined: 5/10/2019(UTC)
Posts: 8

Thanks: 2 times
My $0.02...

My 'Ego" (defined as 'how I see myself in the world') says:

  • I can make a framework that does everything
  • The reason others have not done this in the past is that they are not as smart as I am
  • I don't have to wait or be patient

"Humility" says:

  • I am thankful that I can do this much...
  • I really am only human and I am not the smartest person in the world
  • If everyone else has to have patience, why am I different?

So, I hope the decisions can be based on "Service to others":

  • I am creating tools that will affect the lives of others, therefore not harming them *is* the most important thing
  • I should not take unnecessary risks to feed my "Ego"

So, I am concerned by taking on too much. I am currently buried in working on a *proposal* for a installer for Oqtane (I say proposal because in the end the 'captain of the ship' has to make the hard decisions on exactly how this will be done), and the places where 'something can go wrong' are so numerous I have lost count. I am 'only' trying to support LocalDB and SQL server. In my opinion, trying to support more, especially at this stage, is unacceptably high.

For me, 'service to others' requires me to always consider what is best for others. In my opinion these are the most important things (in order of importance):

  • The framework must be easily upgradable. The NUMBER ONE problem with any framework is that hackers will 'attack' it. If the framework is not easily upgradable people-will-be-hurt.
  • The framework must be easily installable (otherwise what is the point)
  • The framework must do a 'core thing' well *before* adding additional *features*

So, what is the 'core thing'? What is a *requirement* and what is a *feature*?

Again, I'm not the 'captain of this ship' I'm just a 'grateful passenger'. However, I do feel that, at this stage of the project, that should be as narrowly defined as possible.
Offline Charles  
#4 Posted : Tuesday, May 28, 2019 1:20:23 PM(UTC)
Charles

Rank: Newbie

Reputation:

Groups: Registered, Registered Users, Subscribers
Joined: 5/10/2019(UTC)
Posts: 3

I had a quick chat with Shaun today, and we both agreed that it would be ideal if we could get Oqtane to support EF Core Migrations. This would mean that we should not need individual script files, and any EF Core Provider should (with some limitations) work.

This would open the door to a database agnostic solution. Module/extension developers could also use code-based Migrations and would not need to worry about database compatability. This would meet the needs of keeping installs/upgrades simple while also providing support for other SQL variants (SQL Lite, CosmosDB SQL etc).

As SqlLite is fully supported and maintained as an EF Core Provider, I will experiment with how that would work with Oqtane, instead of using the current DbUp solution.

Offline Michael Washington  
#5 Posted : Tuesday, May 28, 2019 2:23:28 PM(UTC)
Michael Washington

Rank: Newbie

Reputation:

Groups: Blogger, Registered, Registered Users
Joined: 5/10/2019(UTC)
Posts: 8

Thanks: 2 times
EF Core migrations are a 'black box'. It does not seem wise to me to take the most-important-part-of-a-framework and turn it over to a 'black box' that was not designed to handle the complex situations that a widely used framework would encounter.

Support for only one database is 'required' to make Oqtane work. To support multiple databases is not a requirement.
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2019, Yet Another Forum.NET
This page was generated in 0.565 seconds.

Notification

Icon
Error