Best Practice for adding a public facing Admin section
I'm looking at the creation of a public access administration section, I'm just wondering about creating it as a react/application or a traditional set of pages that i need to set up out side of the Umbraco CMS pages
For the most part i'll be using Membership but there are some custom bits user dashboards etc
I wouldn't really say there is a best practice as such. I would say choose what works best for you and your team.
Just curious, how much experience do you or team have with React and/or the flux architecture?
I ask because I have studied React with Redux a fair amount recently and I can say that you will need to invest a fair amount of hours learning it if you haven't used it before. There are terminologies and concepts you may not be familiar with; thunks, stateless reducers, actions, reducers, action creators, stores, amongst more.
It is my personal opinion that whilst React is a fantastic view library, and I have grown to really enjoy using JSX, the whole React/Flux/Redux/[Some react library] ecosystem maybe overkill or unnecessarily complicated for small projects with a few components.
If you feel the same then I can suggest some alternatives worth looking into, although none are backed by a giant like Facebook or Google. I think those are the real reasons people are drawn to React or Angular, they provide a greater sense of security and stability to people I think, even though Angular 2 was a complete rewrite..
Try having a look into any of the following and let me know what you think;
https://mithril.js.org/ - My new personal favourite. I have used it with Typescript and JSX and it just works a dream. Used by Nike, Guild Wars 2 for an in game engine (yes in game!) amongst more. A popular open source forum software named Flarum also uses it to power their js based FE.
https://vuejs.org/ - Another great alternative framework, I have heard very good things about this but haven't had a chance yet to use it or study it.
The above is just my personal opinion. I hope you find something that works well for you. I am in no way affiliated with any of the above mentioned projects, but I do think they are worth looking into.
Edit: Also, I write all of the above after having worked extensively with Angular 1 in the past. A lot of the time within an Umbraco context, like I have written custom Umbraco sections, property editors and more in Angular 1. I have also worked with other JS frameworks or libraries over the years as mentioned (Backbone, Ember, all the various libraries like jQuery and of course just pure JS).
Its more to see if there has become a consensus..The react part is down to the guys i work with being react aficionados so from that point of view I may be just building end points..
I wouldn't say there has become a consensus within the Umbraco community for this kind of development, well not that I'm aware of.
If you're working with endpoints then Umbraco has web api baked into it. For your data access layer you can use the built in PetaPoco and persistence capabilities of Umbraco.
If you'd rather have finer control over the Web API configuration or persistence than that too is all possible to work alongside Umbraco. I have also used Entity Framework before, with different providers, for working with data alongside Umbraco. You can have your own Web API configuration using a custom OWIN startup class if you need more than just the built in controllers (UmbracoApiController and such).
At the end of the day it comes down to requirements. Personally I would generally tackle problems like this by making them as loosely coupled to Umbraco as possible, by adding your own layers and custom OWIN startup as described above. That way migrating to newer Umbraco versions or even outside Umbraco will be less painful in future.
All fair points, I'm just asking I suppose because I have the opportunity to ask , so it seems a waste not to.
I figured ther would be lots of different approaches, and either way I have to work with tables and content outside umbraco so it will be as you mentioned loosely couple .. just a users and logins and users tying to data
Best Practice for adding a public facing Admin section
I'm looking at the creation of a public access administration section, I'm just wondering about creating it as a react/application or a traditional set of pages that i need to set up out side of the Umbraco CMS pages
For the most part i'll be using Membership but there are some custom bits user dashboards etc
Anyone have any thoughts on a preferable solution
Ravi
We wrote our own forward-facing MVC pages to handle our various administration tasks.
I wouldn't really say there is a best practice as such. I would say choose what works best for you and your team.
Just curious, how much experience do you or team have with React and/or the flux architecture?
I ask because I have studied React with Redux a fair amount recently and I can say that you will need to invest a fair amount of hours learning it if you haven't used it before. There are terminologies and concepts you may not be familiar with; thunks, stateless reducers, actions, reducers, action creators, stores, amongst more.
It is my personal opinion that whilst React is a fantastic view library, and I have grown to really enjoy using JSX, the whole React/Flux/Redux/[Some react library] ecosystem maybe overkill or unnecessarily complicated for small projects with a few components.
If you feel the same then I can suggest some alternatives worth looking into, although none are backed by a giant like Facebook or Google. I think those are the real reasons people are drawn to React or Angular, they provide a greater sense of security and stability to people I think, even though Angular 2 was a complete rewrite..
Try having a look into any of the following and let me know what you think;
https://mithril.js.org/ - My new personal favourite. I have used it with Typescript and JSX and it just works a dream. Used by Nike, Guild Wars 2 for an in game engine (yes in game!) amongst more. A popular open source forum software named Flarum also uses it to power their js based FE.
https://vuejs.org/ - Another great alternative framework, I have heard very good things about this but haven't had a chance yet to use it or study it.
https://github.com/developit/preact - A react alternative that is far less bloated
The above is just my personal opinion. I hope you find something that works well for you. I am in no way affiliated with any of the above mentioned projects, but I do think they are worth looking into.
Edit: Also, I write all of the above after having worked extensively with Angular 1 in the past. A lot of the time within an Umbraco context, like I have written custom Umbraco sections, property editors and more in Angular 1. I have also worked with other JS frameworks or libraries over the years as mentioned (Backbone, Ember, all the various libraries like jQuery and of course just pure JS).
Its more to see if there has become a consensus..The react part is down to the guys i work with being react aficionados so from that point of view I may be just building end points..
I wouldn't say there has become a consensus within the Umbraco community for this kind of development, well not that I'm aware of.
If you're working with endpoints then Umbraco has web api baked into it. For your data access layer you can use the built in PetaPoco and persistence capabilities of Umbraco.
If you'd rather have finer control over the Web API configuration or persistence than that too is all possible to work alongside Umbraco. I have also used Entity Framework before, with different providers, for working with data alongside Umbraco. You can have your own Web API configuration using a custom OWIN startup class if you need more than just the built in controllers (UmbracoApiController and such).
At the end of the day it comes down to requirements. Personally I would generally tackle problems like this by making them as loosely coupled to Umbraco as possible, by adding your own layers and custom OWIN startup as described above. That way migrating to newer Umbraco versions or even outside Umbraco will be less painful in future.
Thanks
All fair points, I'm just asking I suppose because I have the opportunity to ask , so it seems a waste not to.
I figured ther would be lots of different approaches, and either way I have to work with tables and content outside umbraco so it will be as you mentioned loosely couple .. just a users and logins and users tying to data
is working on a reply...