Reset

Announcing Oqtane 1.0... a Modular Application Framework for Blazor!

5/20/2020

Strategically timed with Microsoft BUILD 2020 and the release of .NET Core 3.2... we are pleased to announce the official 1.0 release of Oqtane, an open source Modular Application Framework for Blazor.

Read More...

Migrating from DNN to Oqtane

1/20/2020

In previous blog posts I have said that Oqtane was "heavily influenced and inspired" by DNN. I realize this statement is rather vague so I thought it may be helpful to provide a bit more detail in order to help clarify the similarities and differences.

Read More...

Oqtane Philosophy

1/14/2020

Most products are created with some core principles in mind. These principles provide a central theme for all major product decisions. The theme for Oqtane is "performance" which is highlighted by the Oqtane brand name whose root word "octane" is a standard measure of the performance of engine fuel. Performance is a general attribute and for a framework like Oqtane it needs to encompass a wide variety of characteristics such as the speed of installation, familiarization, development, deployment, and interac

Read More...

Oqtane vs DNN

1/6/2020

The question of Oqtane vs DNN has come up numerous times in recent months. In general it seems that people are trying to understand the rationale behind creating a completely new open source project as opposed to evolving the existing DNN project. In order to answer this question it is helpful to step back in time and review the events which got us to where we are today.

Read More...

File Upload in Blazor

9/22/2019

Uploading files is a very common requirement in most web applications however Blazor does not currently have a native file upload component. Steve Sanderson blogged about this a few weeks ago and even posted a sample project on Github. Oqtane has a need to upload module and theme packages for installation at run-time so we had also implemented our own solution some time ago - which I was happy to discover closely aligned with the approach suggested above.

Read More...

.NET Rocks - Building Applications using Server-Side Blazor

8/22/2019

It was an honor being a guest on the show again after an 8 year hiatus... Richard Campbell and Carl Franklin continue to provide the creative insight and passion which makes .NET Rocks! the premiere podcast for Microsoft .NET developers worldwide. This episode focused on Blazor and Oqtane.

Read More...

Calling A Child Component Method From A Parent Component In Blazor

8/15/2019

Based on the hierarchical model in Blazor, it is trivial to call a method in a parent component from within a child component. But what if you want to do the opposite? A use case for this type of scenario might be a data entry form where a variety of different sections are rendered as child components; however, there might only be a single Submit button for the form which is inside the parent component. So when a user clicks Submit the application may want to call a method in each child component to perform validation or even save the information to a database. Let's explore a few different options to accomplish our goal.

Read More...

Exploring Authentication in Blazor

7/22/2019

Those of us who have been closely following the evolution of Blazor over the past year have been eagerly awaiting some official guidance from Microsoft in regards to application security. This was finally delivered in the .NET Core 3 Preview 6 release in June where they included some new components, examples, and docmentation related to implementing authentication and authorization in Blazor applications.

Read More...

Cascading Parameters in Blazor

6/14/2019

Blazor components can accept parameters that are used to pass information from a parent component to a child component. This is a powerful feature however in a real-world application such as Oqtane where you may have many layers of nested components, it can be quite cumbersome and verbose if you need to pass a parameter value explicitly through all of the hierarchical layers. Cascading parameters solve this problem by providing a convenient way for an ancestor component to provide a value that is then available to all descendent components.

Read More...


Do You Want To Be Notified When Blogs Are Published?
RSS