-
-
Notifications
You must be signed in to change notification settings - Fork 178
009 Adding Admin Views to a Component
00:00:00 (Click on these time links to see Youtube video)
We've looked at setting up admin views and creating fields for admin views. We've looked at setting up field types and how to use field types to create fields. Now we'll look at setting the admin views to the component and all that can be done to the component. 00:00:28 First we will look at adding the admin views to a component. Go to components, sermon distributor, and settings. There you will see admin views.
To connect admin views to your component go to settings and open this button here. (See video.) Select an option and click 'next'. Do the next one. If you have a lot of admin views, type in the name of the admin view.
Type in the name 'Sermon'. These icons here which have been mentioned previously, are the icons from Joomla called Joomla Standard Icomoon Fonts. (See video.) 00:02:02 If you select an icon here, 'Joomla', it will show you that icon (see video) but only during the selection face. That is the icon that is going to be used for the view in the right. Look at the icon (top right) as we click through component builder; it gets updated.
This icon is what is being set here. (See video.) You can select the icons to reflect the admin view of your choice. We have a bunch of switches here that we'll look at one at a time. 'Admin menu' is the menu. 00:02:49 Do you want that view to show up next to your main view? That will be the first tick box, yes.
Do you want to have an 'add record' icon for this view? If you go to the dashboard it is this icon 'Add Admin View'. It is a shortcut to create an admin view from the dashboard. Say 'yes' and a 'Dashboard (list of records)' icon will show. If you don't want this 'Admin View' icon, just add 'admin view' and tick that 'Dashboard(add record)' as 'no'. 00:03:35
If you've opened your view it has a submenu here that can collapse away. You can add this view to the submenu or not.
Auto check-in is a tweak that I've added to my Joomla components. (I'm possibly going to make a pull request to add it to Joomla.) Auto check-in adds a feature to your component. 00:04:28 It checks whether this item had been checked out longer than a set period; if it happened to be so, it checks it automatically. The set period is something that the administrator sets in the global settings of the component. 00:04:57 You can add auto check-in to a view by either saying 'yes' or 'no'.
Keeping a history of a back end view. The History Component is one of the most exciting things that I have integrated. It keeps track of every change you make in any article or item in your application.
- Example
If I go 00:05:33 to preacher open 'A Capella Music' you'd see the 'version' button at the top. I type in Info@vdm.io, set 'Some text here' and click 'save'. If I click on 'version', you'll see that it now locked a new version. 00:06:13 I could take the one I'm on currently and keep it. It would lock it in because you can also set the amount of history the system should keep. The default changes. I can click on the previous version and say restore and it will be restored it. As you can see, Email address and description are gone. To go back to the one that has been done just click on 'version' and 'restore' and the details are back again. 00:06:52 History Component is a Joomla extension which you're able to integrate into your own components as a component developer. 00:07:14
Depending on whether you are going to use the views information on the front end as your main base for your page, you might want to add metadata. Although Google and others may be ignoring it and metadata isn't that useful anymore, it still plays a role in making a page search engine optimized. If you do your homework and do things right in relation to the implementation of your metadata, you'd see that it adds good features to do the front end of your site. 00:14:51 I'd suggest that you add metadata when you use a specific area to the front. (You'll be remodeling the data because you can get relationships from many databases. You need the area in the back end to get the data.) 00:15:26
This access switch adds the following feature: if you open an article, and open publishing, it says 'dropdown', 'access public' etc. Those are relating to your user access levels. As you know, user access levels can target multiple groups into one user access level. This is a feature that will be useful when you look at the front end of your component though you can also make use of it in the back end. You can change the access of a specific item but since we also have such intense permissional switches, I hardly ever make use of it.
When you want to add to the import/export function. This is an extended area which component builder dynamically adds. You don't need to do anything in relation to scripting at this stage. You could click 'yes' or 'no' to import/export feature at the top of the page of every view. Every view will have an import/export function. It's a direct relationship with import/export. If you export this, you'd see how to do an import; if it's is nice you can map the headers to their specific database tables. 00:17:13 Work is needed, especially when you're dealing with information that was encrypted. If you export it, it will decrypt it if you have the permissions to access that item, but the problem is that it had been decrypted when you imported it, so it doesn't know that it should encrypt it. There is a discrepancy with the advance storing methods. As long as you are having a data back end database table that doesn't require these advance storing methods, it's normal defaults like I explained before. Then the import/export method will work without any problem. 00:18:07 The switch here is 'Export/Import data.' If you don't like the feature just click 'no'.
Every back end view has an edit area. If you've selected the read/write option in the edit area you can change the values of that back end listview. The admin creates site view means that the system will dynamically build the front area which you then can access to edit the data at the front of the website. 00:18:42 It's an excellent tool. For example, it takes this editing area and places it on the front of your website. (See video.) 00:19:13 In the permissional structures you can control who is editing this, etc. (We looked at adding the fields to your admin views; you could set whether this field should have permissional structure.) It means that if you have those things set up back in the global permissional tab, it will be implemented in the front. 00:19:44 If the user is in the incorrect group he won't be able to access this. Nor, for example, update the modified date or the status in the front. You have control over who can do what but at the same time you have the ability to edit items on the front. 00:20:19 However, the fact that it creates the view and places it on the front doesn't mean that there is a link somewhere to it. That is something you need to add to your site front custom site as you develop it. Therefore, if you don't know PHP and if you're not familiar with setting up your links on the front of the component, you would possibly find this feature difficult to implement. 00:20:54
Let's look at what it can build. I have a component in which I'm using the feature quite a lot. It's called 'costbenefitprojection'. In the back end, we look at the views, where we have here one called 'company' and one called 'scaling' factor and 'intervention'. These are 'editing views' and 'list views'. Go to the front of the website, open the component, click on view, and you will see company, intervention and scaling factors. 00:21:28 They are being extended here. The component builder adds this view and the module for it. The controller for it was also added. The script is placed in the area. 00:22:00 For example, we'll look at this component inside the area called 'cpanel'. (This is some dummy data that I placed in here.) Here you can open multiple items. You can click on 'edit advanced profile' and it will open the editing area. 00:22:37 This is the front end editing area; (as you can see there are all the tabs.) Here's the back end area. The same information in the front shows up here, only dumping the permission and publishing features. The Access permissions were done automatically because the front-end user didn't have permissions to edit most of the things here. 00:23:10 You didn't have the right to edit any of these, therefore the system removed the tab. The same goes with the permissions. If you didn't have the right to do scaling factors on interventions, you have dumped it; it won't show it up in the front.
This is the back end of the dummy company that I've set up. 00:23:42 You can see that it moved it to the front. Not only did it make it possible to edit data, but also to create new companies. If you click on 'create company' you will see that it opens up in an area for you to start fresh. You can create a company from scratch. In this example, you will see that it cannot add a user. If you click Save, the system (through some custom scripting that I've added) adds his ID here. (See video.) He doesn't need to select it.
That was a quick look at that button called edit create site view. 00:24:19 It adds the whole codebase to the front and integrates it to the way that the front needs to be able to control the permissions.
The order of the items is the way it will be displayed anywhere. For example, the order in which all of this is done (how the icons are laid out even if you opened one of them; for the submenu, etc.) is controlled by this order number here. (See video.) 00:24:48
I hope this tutorial was insightful. If you have any questions you're welcome to send me an email.
- Home
- Beta Testing
- Custom Code
- PHP Settings
- Demo Component
-
Tutorials
- Hello World JCB
- Intro JCB Guide
- JCB Installation Steps
- Planning Components
- Field Type Overview
- Basic Fields Creation
- Admin View Management
- Advanced Field Usage
- Admin Component Integration
- Component Setting Customization
- Scripting Components
- Component FTP Options
- Dynamic Get Method
- Site View DynamicGet
- Site View Templates
- Template Setup Guide
- Layout Configuration Steps
- Custom Admin Management
- Adding Site Views
- Custom Admin Integration
- MySQL Demo Tweaking
- Global JCB Settings
- Custom Time Field
- User Helper Integration
- Email Helper Usage
- Message Store Email
- List View Unescape
- Export Import Customization
- Overwrite Custom Fields
- List Field Filtering
- Automatic Code Import
- Manual Code Implementation
- Component Export Import
- Custom Admin Buttons
- Translation Management
- Site View Permissions
- Component SQL Updates
- Site Edit Configuration
- JCB Backup System
- Helper Structure Integration
- JCB v2.5 Upgrade
- Tab Setup Guide
- JCB v2.6 Release
- Extended HelloWorld
- Field Rule Validation
- Community Snippets Intro
- Snippet Forking Tutorial
- Pull Request Snippets
- Library Manager Area
- Excel-based Translation
- Dynamic Router Details
- Database Auto Updates
- Subform Quick Demo
- VDM Package Import
- Dynamic File Inclusion
- File Field Upload
- Drag-n-Drop Upload
- Quick HelloWorld JCB
- Non-database Fields
- Dashboard Customization
- Menu Prefix Toggle
- Community JCB Packages
- Collaborative JCB Workflow
- JCB Package Install
- JCB JAB18 Event
- Convenient New Fields
- Component Language Strings
- Library Functionality Anticipation
- Join Field Relations
- License Template Change
- Code Reusability
- Local Dev Environment
- Extended Field Types
- Joomla Custom Fields
- Custom Field Expansion
- Site View Listing
- Run Expansion Method
- Form Site View
- Field URL Update
- Additional Helper Methods
- Field Validation Rules
- New Placeholder Feature
- Component Config Params
- Per-field Default Values