From 5cf15dedc5fef37084a5607e27c53e95cc668a55 Mon Sep 17 00:00:00 2001 From: Amigo <49749100+aamigo@users.noreply.github.com> Date: Fri, 24 May 2019 11:25:19 +0200 Subject: [PATCH] Updated 007 Admin Views (markdown) --- 007-Admin-Views.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/007-Admin-Views.md b/007-Admin-Views.md index 47f9901..0796285 100644 --- a/007-Admin-Views.md +++ b/007-Admin-Views.md @@ -23,14 +23,15 @@ Here is an example of a component that does that. There is a button underneath t Opening the permission tab, you would see that there are view.edit, view.edit.own, view.edit.state, etc. All of these had been created. [00:09:00](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m00s) Setting the first one (core.edit), you would see that there are two options: core.edit and view.edit. The core.edit means that you want to do a global switch. [00:09:27](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m27s) Let me explain that by going to Component Builders' options. In all components in Joomla there is a list of options ('create,' 'edit,' 'delete,' etc,) which, if you select, becomes applicable to everything in this component because it's a global setting.[00:09:56](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m56s) Hence, everything that doesn't have a view name behind it. For example, 'Admin Views Batch Use' is a view name and is only related to this view, but this is only Use Batch which is global. [00:10:18](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m18s) I can allow the latter to do a batch function, but not the admin view. You could also select 'inheritance' which means that batch functions are allowed in both cases. [00:10:39](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m39s) The reason why you can do it in two places is that you have a global switch to stop them from doing it. You can also locally tweak the view, determining whether they are able to edit some of these features or not. [00:11:08](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m08s) +To return to the way to set that up; if you don't want to have a separate control for this view in relation to whether it can edit, change, or view it, etc, use core, which would mean that you'd have only one switch that, if you set it to deny, will automatically deny it for any view that is using core. (Core can also be seen as global.) [00:11:31](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m31s) When you set it as view.edit the system will generate a specific list of items especially for that view. [00:11:55](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m55s) (See video.) [00:12:14](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m14s) When I set up this list in a Component Builder, I selected view edit, and of the two options, 'In relation to each record,' and 'In relation to the whole view,' I selected both so that it will implement it for both in single record and for your global settings. [00:12:34](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m34s) +If you know how Joomla's provisional structure works, this would make better sense to you. If you are using a Joomla website, go to articles, open options, and look at their permissions. [00:12:58](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m58s) You'd see that there are only 'Create,' 'Edit,' 'Delete,' 'Edit state,' 'Edit own,' and the accessing of the control in these big global settings. We are adding more control than these defaults can give. [00:13:17](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m17s) This is how it works. In article manager you have one view. That view is 'Articles.' 'Categories is another view, but it is another component; it's not the content component. Admin features is another implementation, not a new database. [00:13:38](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m38s) The point is that you only have two views here, so when they look at options, they know that if they tweak this permission, it will be implemented for all the views related to articles. +With Component Builder you are able to build components far bigger then the content managing article manager. [00:14:06](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m06s) Because of that we felt that your permissions must extend so that you can target a specific view and not just all of them at once. So if you want to target a specific view, you will select 'view.edit.' [00:14:27](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m27s) The 'view' prefix must be in your selection; if you select 'core,' you won't specifically target this view if it's changed in the global settings which would be the ones without a view name in front. [00:14:45](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m45s) These are the global settings: global export, global batch, global version, edit version, global create, delete, edit, edit state. [00:14:59](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m59s) 'Edit State' changes it from publish to unpublish. 'Edit Own' means that though you might not have edit rights you can have edit own rights, so that whatever you create you can edit again. 'Created by' and 'created date' are fields. You can edit the 'created by' field or you can edit the 'create date' field. You'd see that this targets the default fields. [00:15:33](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m33s) -Coming back to the way that you would set that up. If you don't want to have a separate control for this view in relation to whether it can edit it or whether you could change it all, view it all these possibilities. [00:11:31](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m31s) Then you would use core. Core would mean that you would have only this one switch and if you say deny, it will automatically deny it for that view and any other view that is using core. Or core can be seen as global when you are setting it as edit view, it means that the system will generate [00:11:55](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m55s) a specific list of items specially just for that view. So if you look from there to there, that is for your admin view. From there to there, is for your custom admin view. Now that means what I set up this in a Component Builder, [00:12:14](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m14s) I selected view edit, and then I set it in relation to each record in relation to the whole view. And I selected both so then it will implement it for both and single record and it will implemented for your global settings. +There is a way to target custom fields; fields that were developed outside of the default fields. That isn't done here where your default fields and your default features with regards to permissions are controlled. Set up these permissions first. Make sure that you set up all of those that you want to implement. [00:16:01](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m01s) The most general options are listed here. This list might grow with time; because we've moved the control of a single field out of this structure, we've made it more scale-able. [00:16:22](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m22s) This permission implementation is only targeting default fields, or fields that the system had already put in for you; default concepts like accessing a specific view, deleting or creating an item in the view, editing the created field or a 'created by' field, and changing the state edit own. [00:16:44](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m44s) -Now again it might feel [00:12:34](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m34s) I won't blame you if what I have just tried to explain makes you feel confused, but really the only way for you to make sense of this is if you know how Joomla provisional structure works. So if you are using a Joomla website, and you have actually ever gone to articles [00:12:58](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m58s) and opened options and then look at their permissions, then you'd see that they only have create, edit, delete, edit state, edit own, and then these accessing of the control and this actually this big global settings. Now what we are doing, we are simply adding [00:13:17](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m17s) more control then only these default because the way this works in article manager you basically have one view. That view is articles. These other views known as categories is another view, but it isn't really has another component it's not really content. The content component [00:13:38](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m38s) And admin features is just another implementation. It's not really a whole new database. The point is you only really have two well the most two views here and so when they look at options they know that if they tweak this permission they want it to be implemented for all the views related to articles. Right well with Component Builder you are able to build components. [00:14:06](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m06s) That are far bigger then the content managing article manager. I'm because of that we felt that your permissions must extend that you can target a specific view and not just all of them at once. So if you want to target a specific view you will select the view edit. [00:14:27](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m27s) Actually this view prefix must be in your selection. If you select core that means you are saying I don't want to specifically target this view if I change it in the global settings which would be the ones without a view name in front. [00:14:45](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m45s) Everything from here to there those are the global settings, global export, global batch, global version, edit version, global create, delete, [00:14:59](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m59s) Edit, edit State. Now edit state is changing it from publish to unpublish those things edit own means you might not have edit rights but he has edit own rights. So that means whatever you create can edit again in and created by is a field so can he edit created by field or can he edit create date field. Now you'd see that this basically targets fields that are sort of the default fields. [00:15:33](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m33s) - -There is a way to target custom fields, fields that were developed outside of the default fields but that is not done in here I'll Show you where that is done this is just controlling your default fields and your default features with regards to permissions and so you would first set up these permissions. Make sure that you set up all of those that you want to implement. [00:16:01](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m01s) There is a list here of those I think is most general. This list might grow with time but because we've moved the control of a single field out of this structure it actually means that we've made it scalable so this permissional implementation here [00:16:22](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m22s) is really only targeting your or default fields or the fields that already the system put in for you and the default concepts like accessing this specific view or deleting an item in the view or creating an item or editing the created field or editing the created by field [00:16:44](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m44s) changing the state edit own so those are the custom default features. If you want to do a control on a specific field I'll show you that in a moment but that is the implementation of permissions. If you do not really understand this I would suggest you make [00:17:05](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m05s) effort to study up on Joomla's own implementation of the promotional structure then once you've really understood the way Joomla handles this permissional structure then you would have better grips on setting up these permissions [00:17:24](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m24s) per view what is done in the code if you would like to see that it's basically in the code if your ready have developed a component. You would see that it sets up your globals. This is the global. Now when I say global I mean If you click on options [00:17:47](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m47s) let me just close this, if you click on this button here options in any of the components you're going to the global settings, and these permissions here are those first that I've highlighted. So if all those and they have [00:18:09](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m09s) links to the specific views so there is the field view, there is the Dynamic Get view, there is the custom admin View, and you can see that they have there related switches. But then there's also for each view their own section and that causes Joomla [00:18:32](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m32s) to add in an item a permissional tab with switching to control the permission for this one individual item and we have tried our very best to implement these permissions actually the way that you want might expect I can in later videos going to the code and show you exactly how this permission structure is being implemented and I think it's one of the features that makes Component Builder [00:19:02](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m02s) far more advanced then other component builders out there is the ability to add permissional structures to your component right inside of component builder through this permissional switch. +These are the custom default features. If you want to do a control on a specific field I'll show you that in a moment but that is the implementation of permissions. If you do not really understand this I would suggest you make [00:17:05](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m05s) effort to study up on Joomla's own implementation of the promotional structure then once you've really understood the way Joomla handles this permission structure then you would have better grips on setting up these permissions [00:17:24](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m24s) per view what is done in the code if you would like to see that it's basically in the code if your ready have developed a component. You would see that it sets up your globals. This is the global. Now when I say global I mean If you click on options [00:17:47](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m47s) let me just close this, if you click on this button here options in any of the components you're going to the global settings, and these permissions here are those first that I've highlighted. So if all those and they have [00:18:09](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m09s) links to the specific views so there is the field view, there is the Dynamic Get view, there is the custom admin View, and you can see that they have there related switches. But then there's also for each view their own section and that causes Joomla [00:18:32](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m32s) to add in an item a permission tab with switching to control the permission for this one individual item and we have tried our very best to implement these permissions actually the way that you want might expect I can in later videos going to the code and show you exactly how this permission structure is being implemented and I think it's one of the features that makes Component Builder [00:19:02](https://www.youtube.com/watch?v=CdSKSCTzmRA&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m02s) far more advanced then other component builders out there is the ability to add permission structures to your component right inside of component builder through this permission switch. **Tabs**