diff --git a/002-Intro-to-JCB.md b/002-Intro-to-JCB.md index 7341dfa..bd86c7c 100644 --- a/002-Intro-to-JCB.md +++ b/002-Intro-to-JCB.md @@ -1 +1,4 @@ + +# Greeting + Hi Welcome My name is Llewellyn van der Merwe I'm the developer of component builder for Joomla [00:00:10](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m10s) I would also be Giving you the instructions of how to use it Just wanna look at a few issues Component-Builder was built to those who know PHP If you don't know PHP there are some Great places to Start Learning from and one To those I would mention is [00:00:30](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m30s) Lynda.com And udemy You could go on to their websites and you can simply search for PHP And you would find tons of courses that I suppose would do more than enough to to get you on your way If you don't know CSS JavaScript HTML then certainly you need to go visit these website And get that knowledge It was not developed for those who [00:00:59](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m59s) Have no but developing skills Because Simply I developed it actually for myself As developer of components So that I can easily and quickly get Most of the bulk of the code done And I could just be focused on the actual custom Code which Goes beyond the norm So that's what it's really made [00:01:24](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m24s) To do If you don't have an understanding of the Joomla API It's only gonna be to your own Disadvantage It's not that difficult to get it understanding You just need to be able to read PHP And open a Joomla website go to libraries start reading with Classes Even go to Joomla's own components [00:01:49](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m49s) That means you would Simply Go to a Joomla install that's this one here And you go to components and you would go to Content manager Look at its folder structures then open obviously if you know cmv And there's the controllers there's the models there's the Views [00:02:12](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m12s) Open a view Start opening the script itself Read through it If using NetBeans You can hold onto a function like that one Press Ctrl shift It'll show you where In your Joomla website That function is declared And [00:02:34](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m34s) You can You can open that file And you can let's see I think you click there Open source in editor there we go And you can start By doing these kind of things You can start learning in the way that the code Connects to each other Through just looking at Joomla's own [00:02:58](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m58s) Components Basically that's how I got to know how things work I simply went here Helper content control shift and Then opened that in the next window Look through the Class Methods class variables Which ones that is extending [00:03:21](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m21s) This one isn't extending any So That's how I got to know how most things work And That's also how most other developers I suppose are able to get their hands on this And so the better you know the Joomla API To the more advantage to yourself Because you will understand that this application is really implementing the API itself over and over I didn't reinvent things I'm trying to stay as close to the conventions [00:03:55](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m55s) as possible And as I become aware of Better ways of implementation I would like to At that again So even if you know a better way to doing it Please communicate with me I would likely Updatening include and change [00:04:11](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m11s) Whatever is needed You must be willing to get your hands dirty it is not one of the issues that are quite important This simply means that if you have built something and it doesn't work You need to debug it Which means Possibly you would like to run a local Sandbox environment I'm running here on Ubuntu Is my local sandbox And so [00:04:38](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m38s) I have PHP on it and Got My sequel installed and Joomla So if I was to open a browser And I would type in this Local This is my local install so you can see I just typed in VDM [00:05:04](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m04s) And I have Basically a few sites here Test one is one we'll be working in And The one in which Component-Builder is being developed Is this Component Builder 1 And those sites have admin so this is just my own little Script that I've dumped onto my own little server And I can now [00:05:27](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m27s) Change that Say Ok Let's go to Builder dot VDM That's another Site And it's loading some of the Test [00:05:43](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m43s) Displays that I'm working on And I add Administrator do that Open the back end And I can login So I'm running in a Sandbox environment And what this The advantages as you don't have any internet Involvement those of you that already do it know all these advantages but those of you don't [00:06:07](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m07s) You you can basically work offline mostly And And as well you can add Things like XDbug And other script Which help you debug Your application very easily We doing that in online developing sorry Off-site environment is [00:06:26](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m26s) Time consuming and Difficult and Expensive So it's much easier doing it offline and again if you don't know how to do that Please visit Lynda.com and Look at a course called I think it was Up and running with PHP Linux developer Linux server Running my next Wait let me quickly go find out hold on Ok here we have it up and running with Linux for PHP developers by Jon Peck [00:06:59](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m59s) Is an excellent course to get your own Local Developing environment setup I don't know this URL is gonna be helpful But there it is Apache-tutorials up and running Linux PHP developers and I'm sure if you've watched this I've watched it [00:07:24](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m24s) Any Moons ago And it's been very helpful To get my Initials Sandbox setup Obviously since then And I suppose with yourself as well you'll find it you you get better And you find better ways But it's a good place to start [00:07:44](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m44s) Ok so that is about getting your hands dirty Component builder best place of Function of being functional is offline If you gonna do it online please realise that there might be security risks Especially when you've compiled An application It places it into your temporary folder which can be accessed From From anywhere Anyone can access your temporary folder on your [00:08:14](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m14s) Server Of your website So Yes you can delete the application from there in mediately with a button which are show you later But it is still I feel unsafe and the purpose of the application was Live in a developing environment where you have Joomla installed and where you can really test it intensly So I would still suggest it None the less you do it that way Ok now Finally we almost there [00:08:45](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m45s) Finish with the introduction since it's free please help me to ensure the future of this component By not sharing it's training videos online or with anyone else this is really the only way that I can sustain this Development is if you Don't share these videos so please if you be so kind If you have an organisation or you your a company and you have a Others that's gonna view it I suppose I can't stop you from doing that but I would encourage you there for then [00:09:28](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m28s) to consider making a contribution when you are starting to reap the benefits of The time that this application saves you so that this application can be further developed for the rest of the The community and also for yourself We would like to also involve you on Github so you can go to GitHub /VDM - IO / Joomla component builder Basically this place here And if you if you have issues or any requests or anything really Please come here and go to issues and open a new issue [00:10:12](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m12s) I want to be sure you can do that if you've got an account of course with GitHub And then we at least our discussions you are logged and it's public and others can see it and We can also come back as do it in reference If you want to make a feature request then you can start That feature request obviously herein the issues And possibly if it exist I'll point you out to it and if a training is needed we will add it to this training Video set but if there is a feature request that has started here and you feel that you you can't wait because we possibly will create milestones and we will add feature requests to milestones in you wanna ensure that a feature request ends up being done Before anyone else is then you need to communicate with me at this email and I can send you [00:11:09](https://www.youtube.com/watch?v=9evJkBTnKxE&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m09s) a link to to make a donation or a Yeah I'll give you an invoice even if needed so that we can ensure that feature request be done Before Others ok so that's maybe all of it just looking at sort of an introduction If you have any questions please let me know Obviously not regarding the component itself but just these points I've mentioned I'll be grateful ok It's so let's get on with it Since I'm really looking forward to showing you how everything works diff --git a/003-Installation-of-JCB.md b/003-Installation-of-JCB.md index 06c69b9..6e16787 100644 --- a/003-Installation-of-JCB.md +++ b/003-Installation-of-JCB.md @@ -1 +1 @@ -Ok here we are in component builder at the dashboard in the back End of a Joomla website I would like to 2 first show you may be the tremendous power of what it's already Able to do and then step back little by little showing you how to build a component So I'll finish o u components that I have build and I have been able to To manage them so I've got a few here obviously got a lot a lot in Archive what these are few that I've done and as you can see there is component Builder 44 the Gallop is this component Builders for developers and how to And there's the three component the order and that all three of them are living inside the same Component builder the only change between them is really the The database in certain things that they compile but they all are using The same admin views they all using the same Infrastructure information settings and so forth So really it is it is that simple to have one component An Avid in different versions made available to your clients and All possible in component builder by Simply copying one and then making changes to It's one now it links to views and all that I'll explain as we continue What I need to do now is I'm simply gonna take the compiler And I'm gonna compile the public the free one because I'm gonna use that to show you How to build your own component ok so I'll compile it Start up the compiler and all the script taking all the data in the day Metabase and puts it into the code that we would then need to run the application Ok it's done compiling as you can see Tells me how many lines is written it does me how many hours I saved if I had to Road right Does lines manually you can read through some of that it's quite interesting I'll be I spend much more hours on this than what the sense there but that's why these are just estimate And based on calculating the 9 numbers and not really Connecting the actual interacting action that we've had you can install the car Component if you've done it right just clicking there or you could download it and install it Swear or we could use this URL which is now at the moment relating to my offline in Environment and once you've done whatever you wanted to do if you click this Womane need it but if you're running on the online Environment and you use some of these links to install it elsewhere then play Please remember to clear your temporary folder because if your down there this a component Can be downloaded in your temporary folder and to show you that it me open that website And then let's go to it's temporal temporal folder And you can see there is there is the component in a zip file and And you you realise that anyone that can access this file can download it So just let you know it I'll be mentioning this a few times because I realise part of why Are you might be interested in using my application is because you want to ensure that what you do remains Yours and this is part of what you need to know to ensure that Ok I'm gonna run a c if I have a bash script that reminds me That I haven't made a comment on this so but just my Script let me quickly do that before we go on ok Done I'm gonna open a test website and I'm good Gonna run everything there me just login ok so I mean the installing air Area is basically a blank test website just installed it And I'm gonna use this link here so are using URL Then there a click install it should say the following to you win Dumb that just a side note if you've started working with component Builder As a free version and you've purchased Beastly one of the paid versions The difference between them is only the data that is in the database the features and the function Colour all the same And so if you have installed the free version You would need to now at the database Information from the paid versions Now to access the database information in your component Let me see I'm gonna go to the zip file here in my file system hold on Ok we've got the zip file open here Would go to admin Then go to SQL Then you'd see there is an install file Install file You'd wanna open it And Guarantee it's it's the file that we are using to build a database And Once you've come finished looking at all the Tables at the very bottom of the file After the tables Will be dumped information Now with the free version It's basically the fuel types That we've added And also some I think help menu information Correct Anyway With the paid version there will be many more How much more details there And Belt two ways for you to do this one would be simply to uninstall the freeways in Uninstall this one that you purchased When you do updates it will never Update this information Joomla only uses this one it doesn't fresh install Because that's the only time you create the tables I didn't add this data to and install instance since that would be Way too much And So I've realised that They are I might look at building a script that could deal with this but I haven't done so yet The second way to do this is if you might know MySQL You can actually Cut and paste this into MySQL replace this with your prefix of your tables But first remove The data that are in the stables Let me show you that is all done So you were in MySQL and there is the Database Tables of component Builder And if you look at our archive was it now this one You see that this is gonna target the fuel types So You going to feel types If you're not importing then you data And you go to operations And you Truncate that table Like that Then you go to MySQL The sequel button You go back to that file Obviously First replace All those with the Prefix like that Let's make sure we don't by accident grab the wrong That Thanks we have it like that A match case Search backwards And then Find So we might replace that I'm gonna have the place for Here we go back to our date are you see it now I has updated this field day So I would select that Like that Coffee Go here To MySQL Basted And play Go Test The mistake I made is to leave to underscores in that name there She's just you one Let's try again Ok it's added it So that is how you would Add the data Without Uninstalling The whole component But I would suggest that this is maybe More advanced than and difficult And not ideal So the other way would be to go to the extensions manage And click on This manage area here Select Opponent And just uninstall it And then reinstall the one that you now could download from BBM that i o So once you've have Got it installed it should look like this in the backend You should be no components No Nothing while the free version Should have none of this The only things that will have his the fuel types and only a few of them How the paid version looks different and so I'm gonna uninstall this free one And then I'm gonna install the paid one so we can use that as our example let's go Uninstall and as you can see it not only remove the component but it also Removes any trace of it that was integrated into Joomla These three and tags and all that Which is quite smart because then if you install it again it's doesn't start creating duplicate values in the database Ok so let's quickly get the paid version Ok we haven't installed So now if we go back to the component And to feel types You see that it has A whole lot more fuel types And it has a few Fields setup as well Impact This is the version called Developer which only has the demo component in it I'm basically gonna use this version to show you how to build Summon distributor From scratch Song or possibly worse keep certain things because it might get too long But I'll certainly show you From the ground up how 7 distributor is to be built And I'm gonna do an inside this version And at least we have something to start with Ok well That's enough for this tutorial We'll continue with Fuel types in the next \ No newline at end of file +Ok here we are in component builder at the dashboard in the back [00:00:06](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m06s) End of a Joomla website I would like to first show you may be the tremendous power of what it's already Able to do and then step back little by little showing you how to build a component So I'll first show you components that I have build and how I have been able to To manage them so I've got a few here obviously got a lot a lot in Archive But these are few that I've done and as you can see there is component Builder for developers there's component builders for developers and how to's And there's the three component builders and they are all three of them are living inside the same Component builder the only change between them is really the The database in certain things that they compile but they all are using [00:01:10](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m10s) The same admin views they all using the same Infrastructure information settings and so forth So really it is it is that simple to have one component And have it in different versions made available to your clients and with all possible in component builder by Simply copying one and then making changes to that copied one now it links to views and all that I'll explain as we continue What I need to do now is I'm simply gonna take the compiler And I'm gonna compile the public the free one because I'm gonna use that to show you How to build your own component ok so I'll compile it which start up the compiler and all the script taking all the data in the database [00:02:14](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m14s) and puts it into the code that we would then need to run the application Ok it's done compiling as you can see it tells me how many lines is written it tells me how many hours I saved if I had to write those lines manually you can read through some of that it's quite interesting obviously I spend much more hours on this than what they says there but that's why these are just estimates And based on calculating the 9 numbers and not really Calculacting the actual interaction that we've had you can install the Component if you've done it right just click in there or you could download it and install it elsewhere or we could use this URL which is now at the moment relating to my offline Environment and once you've done whatever you wanted to do if you click this [00:03:18](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m18s) Whom you needed it but if you're running on the online Environment and you use some of these links to install it elsewhere then play Please remember to clear your temporary folder because if your don't this component Can be downloaded in your temporary folder and to show you that it me open that website And then let's go to it's temporal temporal folder And you can see there is the component in a zip file and And you you realise that anyone that can access this file can download it So just let you know it I'll be mentioning this a few times because I realised part of why Are you might be interested in using my application is because you want to ensure that what you do remains Yours and this is part of what you need to know to ensure that [00:04:22](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m22s) Ok I'm gonna run a I have a bash script that reminds me That I haven't made a commit on this so that's just my own little Script let me quickly do that before we go on ok it's done I'm gonna open a test website and I'm Gonna run everything there let me just login ok so I'm in the installing Area is basically a blank test website just installed And I'm gonna use this link here I use a URL paste it in there and click install it should say the following to you When you have done that just a side note if you've started working with component Builder As a free version and you've purchased obviously one of the paid versions [00:05:26](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m26s) The difference between them is only the data that is in the database the features and the functionalty Are all the same And so if you have installed the free version You would need to now add the database Information from the paid versions Now to access the database information in your component Let me see I'm gonna go to the zip file here in my file system hold on Ok we've got the zip file open here Would go to admin [00:06:02](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m02s) Then go to SQL Then you'd see there is an install file Now this Install file You'd wanna open it And Guarantee you would see it it's the file that we are using to build a database And Once you've come finished looking at all the Tables at the very bottom of the file [00:06:28](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m28s) After the tables Will be dumped information Now with the free version It's basically the field types That we've added And also some I think help menu information If I'm correct. I think I've added that Anyway With the paid version there will be many more or much more details there [00:06:59](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m59s) And and there are two ways for you to do this one would be simply to uninstall the free version and install this one that you purchased When you do updates it will never Update this information Joomla only uses this when it doesn't fresh install Because that's the only time you create the tables I didn't add this data to and install instance since that would be Way too much And [00:07:29](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m29s) So I've realised that They are I might look at building a script that could deal with this but I haven't done so yet The second way to do this is if you might know My SQL You can actually Cut and paste this into My SQL replace this with your prefix of your tables But first remove The data that are in this tables Let me show you that please hold on So here we're in My SQL and there is the Database [00:08:03](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m03s) Tables of component Builder And if you look at our archive were is it now this one You see that this is gonna target the field types So You go to field types If you're now importing the new data And you go to operations And you Truncate that table Like that [00:08:30](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m30s) Then you go to My SQL The sequel button You go back to that file Obviously First replace All those with the Prefix like that Let's make sure we don't by accident grab the wrong stuff So we have it like that [00:09:15](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m15s) Match case Says backwards And then Find So we would replace that I'm gonna have to replace all Here we go back to our data you would see it now I has updated this field there So I would select that Like that Copy [00:09:49](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m49s) Go here To My SQL paste it And click Go Test The mistake I made is to leave to underscores in that name there should just use one Let's try again Ok it's added it [00:10:29](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m29s) So that is how you would Add the data Without Uninstalling The whole component But I would suggest that this is maybe More advanced than and difficult And not ideal So the other way would be to go to the extensions manage And click on [00:10:53](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m53s) This manage area here Select Component And just uninstall it And then reinstall the one that you now could download from VDM.IO So once you've have Got it installed it should look like this in the backend You should be no components No Nothing while the free version [00:11:20](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m20s) Should have none of this The only things that will have his the field types and only a few of them Now the paid version looks different and so I'm gonna uninstall this free one And then I'm gonna install the paid one so we can use that as our example let's go Uninstall and as you can see it not only remove the component but it also Removes any trace of it that was integrated into Joomla These three and tags and all that Which is quite smart because then if you install it again it's doesn't start creating duplicate values in the database Ok so let's quickly get the paid version Ok we have it installed [00:12:12](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m12s) So now if we go back to the component And to field types You see that it has A whole lot more field types And it has a few Fields setup as well In fact This is the version called Developer which only has the demo component in it I'm basically gonna use this version to show you how to build Sermon distributor [00:12:44](https://www.youtube.com/watch?v=t6Eux157428&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m44s) From scratch So I possibly would skip certain things because it might get too long But I'll certainly show you From the ground up how 7 distributor is to be built And I'm gonna do it inside this version And at least we have something to start with Ok well That's enough for this tutorial We'll continue with Field types in the nextOk here we are in component builder at the dashboard in the back End of a Joomla website I would like to 2 first show you may be the tremendous power of what it's already Able to do and then step back little by little showing you how to build a component So I'll finish o u components that I have build and I have been able to To manage them so I've got a few here obviously got a lot a lot in Archive what these are few that I've done and as you can see there is component Builder 44 the Gallop is this component Builders for developers and how to And there's the three component the order and that all three of them are living inside the same Component builder the only change between them is really the The database in certain things that they compile but they all are using The same admin views they all using the same Infrastructure information settings and so forth So really it is it is that simple to have one component An Avid in different versions made available to your clients and All possible in component builder by Simply copying one and then making changes to It's one now it links to views and all that I'll explain as we continue What I need to do now is I'm simply gonna take the compiler And I'm gonna compile the public the free one because I'm gonna use that to show you How to build your own component ok so I'll compile it Start up the compiler and all the script taking all the data in the day Metabase and puts it into the code that we would then need to run the application Ok it's done compiling as you can see Tells me how many lines is written it does me how many hours I saved if I had to Road right Does lines manually you can read through some of that it's quite interesting I'll be I spend much more hours on this than what the sense there but that's why these are just estimate And based on calculating the 9 numbers and not really Connecting the actual interacting action that we've had you can install the car Component if you've done it right just clicking there or you could download it and install it Swear or we could use this URL which is now at the moment relating to my offline in Environment and once you've done whatever you wanted to do if you click this Womane need it but if you're running on the online Environment and you use some of these links to install it elsewhere then play Please remember to clear your temporary folder because if your down there this a component Can be downloaded in your temporary folder and to show you that it me open that website And then let's go to it's temporal temporal folder And you can see there is there is the component in a zip file and And you you realise that anyone that can access this file can download it So just let you know it I'll be mentioning this a few times because I realise part of why Are you might be interested in using my application is because you want to ensure that what you do remains Yours and this is part of what you need to know to ensure that Ok I'm gonna run a c if I have a bash script that reminds me That I haven't made a comment on this so but just my Script let me quickly do that before we go on ok Done I'm gonna open a test website and I'm good Gonna run everything there me just login ok so I mean the installing air Area is basically a blank test website just installed it And I'm gonna use this link here so are using URL Then there a click install it should say the following to you win Dumb that just a side note if you've started working with component Builder As a free version and you've purchased Beastly one of the paid versions The difference between them is only the data that is in the database the features and the function Colour all the same And so if you have installed the free version You would need to now at the database Information from the paid versions Now to access the database information in your component Let me see I'm gonna go to the zip file here in my file system hold on Ok we've got the zip file open here Would go to admin Then go to SQL Then you'd see there is an install file Install file You'd wanna open it And Guarantee it's it's the file that we are using to build a database And Once you've come finished looking at all the Tables at the very bottom of the file After the tables Will be dumped information Now with the free version It's basically the fuel types That we've added And also some I think help menu information Correct Anyway With the paid version there will be many more How much more details there And Belt two ways for you to do this one would be simply to uninstall the freeways in Uninstall this one that you purchased When you do updates it will never Update this information Joomla only uses this one it doesn't fresh install Because that's the only time you create the tables I didn't add this data to and install instance since that would be Way too much And So I've realised that They are I might look at building a script that could deal with this but I haven't done so yet The second way to do this is if you might know MySQL You can actually Cut and paste this into MySQL replace this with your prefix of your tables But first remove The data that are in the stables Let me show you that is all done So you were in MySQL and there is the Database Tables of component Builder And if you look at our archive was it now this one You see that this is gonna target the fuel types So You going to feel types If you're not importing then you data And you go to operations And you Truncate that table Like that Then you go to MySQL The sequel button You go back to that file Obviously First replace All those with the Prefix like that Let's make sure we don't by accident grab the wrong That Thanks we have it like that A match case Search backwards And then Find So we might replace that I'm gonna have the place for Here we go back to our date are you see it now I has updated this field day So I would select that Like that Coffee Go here To MySQL Basted And play Go Test The mistake I made is to leave to underscores in that name there She's just you one Let's try again Ok it's added it So that is how you would Add the data Without Uninstalling The whole component But I would suggest that this is maybe More advanced than and difficult And not ideal So the other way would be to go to the extensions manage And click on This manage area here Select Opponent And just uninstall it And then reinstall the one that you now could download from BBM that i o So once you've have Got it installed it should look like this in the backend You should be no components No Nothing while the free version Should have none of this The only things that will have his the fuel types and only a few of them How the paid version looks different and so I'm gonna uninstall this free one And then I'm gonna install the paid one so we can use that as our example let's go Uninstall and as you can see it not only remove the component but it also Removes any trace of it that was integrated into Joomla These three and tags and all that Which is quite smart because then if you install it again it's doesn't start creating duplicate values in the database Ok so let's quickly get the paid version Ok we haven't installed So now if we go back to the component And to feel types You see that it has A whole lot more fuel types And it has a few Fields setup as well Impact This is the version called Developer which only has the demo component in it I'm basically gonna use this version to show you how to build Summon distributor From scratch Song or possibly worse keep certain things because it might get too long But I'll certainly show you From the ground up how 7 distributor is to be built And I'm gonna do an inside this version And at least we have something to start with Ok well That's enough for this tutorial We'll continue with Fuel types in the next diff --git a/004-General-Planning.md b/004-General-Planning.md index ec39624..fe58fee 100644 --- a/004-General-Planning.md +++ b/004-General-Planning.md @@ -1 +1 @@ -What do you want to build a component In component Builder You need to come Is a number of things that you need to You need to know what you wanna build You need to know the database structure Set up These are mostly things that you will only know If you have a great Good Understanding Of A table And A database How you Would like to have it No you do not know that I could give you some pointers Needed And at the same time try to Splain Why Ok so We are using Summon distributor That I Develop For Distributing Sermons We using that as our demo Component that How to build So you need to know what you got it So we recorded Then You would need to know The back interviews Now the backend views in Joomla Must be Tightly connected Two Database And possibly In such a way that it Makes sense Database Naming I am not going to be able to To do an extensive Explanation By just By illustrating what Is the best Convention of Obviously component builder will allow you to To break these But later you with Regret doing And gossip We have to read You do a lot of thing The purpose being that Good lot of these convention They are up To implementation Other areas like your crust Ok so We first knew that when we were gonna build Understood That is for fuel Sorry back in views Needed to To be set up Because we wanted these Beaches in Inside of Hulk And that is the sermons I had a List View Of Sermons and Well and Editing View of a And they shared a common data Database And so we had preachers As well Series list And series And they all share and as you can see there they actually Representative Views But one database table That means to Vuze a listview And an edit view and you will hear me repeat these concepts over and over and if I get Confused are please forgive me as just so much repetition that you need to understand that When I talk about views Rural I always talking about the list View If I talk about View Singular I'm always talking about the editable view which is basically in relation to the backend relay Sorry connection of the type database self So you back in usually forms the connection to the database Your front end is much more than they make and that's why we also have a dynamic Get concept which links to site views which is the front of your component these Things will take quite a lot of explanation if you not nude if you sorry if you're new to coding and pH HP and all that JavaScript CSS You possibly get lost but if you're not you'll be very happy in the way with implemented because it leaves With a lot of Dynamics and maneuverability Which is obviously partly why I developed this component because all the others felt Are the component Builders out there felt like a cut like a cookie cutter you know you you can really own Crank out components that are sort of common to each other and I want to build something that's really Dynamic so Barkly for that the site views and the custom backing views are Mostly the same kind of implementation both drawing their data from The Dynamic get Feature in component Builder So you can think of these 23 sorry as working as a team But the back in views stand as the database for these So you need to set up these first and add to them all All the necessary Fields which will then map the database Columns which you can then through the dynamic get connect to so that you can Formulate a data model Which can be reused in your custom backend and in your sight views so I don't know Does that explain it to you let me try again Just to make sure I have everybody on the same page your back interviews are there Tightly connected to database structures so even if you were to look at Proponent order itself You have what is called components And if you were to open one it has fields in it And if you want to go to the database And also open component Builder Component the same table And you to click on structure you would see that the fields That we are seeing Here Your name came Codename version version updates Box Short description Copyright Movies names Are actually mapping directly into the database at licence that it There is name is obviously alphabetical name Codename number images slice Email CSS copyright If it really directly Maps to the database and it is in a way Editing the database through this view So When it comes to the components you're your back in views are all being limited to this Structure And this is not a limitation on component Builders behalf really it's really the way to my love I want you to implement it by doing it this way your class is your model two controllers and Everything else just behave right because of that implementation now I know some might If you know that is a major limitation but that is the Joomla API is implementation and if you Go Beyond that kind of infrastructure you must pop it probably need to look at Way than using component builder because we only implemented it that way so that your Your back interviews directing Maps to the database But because we know that from time to time there is back in views that do not have even there Database but rather takes these already saved information in the database Hydraform other third-party components or even your own component because me know that You would like to take that information and remodel at maybe into a spreadsheet Or into a Table saw table a chart Any other kind of Wait we are a disgusting back in views which behaves on the same Dynamics as The side views which means We trying to give you Best of Both Worlds first being that Strong Paper Kites Typing manage maybe datasets which relates directly to the view and the list View But at the same time the option of adding a custom back in view which can You know you can really do custom scripting in it you need not need to be concerned about all the other Overheads as you would usually be So You first need to know your back into use and then any possible custom views That maybe combines back in view so we could possibly in the future we haven't done so yet Forcibly takes this sticks and sermons And creatures and series is because these sadistic Are taking only the downloads Where us preachers has in them a field called hits And so does sermons have a field called hits that's just when someone opens one Without downloading is necessarily so the series is But sadistic sonly count the downloads of sermons so we could possibly add an extra Back in field sweet view custom back in Called Analysis Pointing And Then in analysis we can use the dynamic get Option To get data from Old Widow stables These tables basically from marijuana And Richard table And a series table It's so short and it a little That Handsome And then from them Do what we would call model Modelling Modelling the data And possibly end up with A whole new Data structure which we can then Place into a table or into a Chart In that view which means that it is now dynamic And no longer directly connected To the Database As these above Views are And it won't won't really have an edit view it will be a Single View Just displaying rows An analysis data From does multiple back in Database Tables And this Can also be done on the front of the site So That means this whole Get Feature We could Take it Put it under get And we can give it a name and we can call it It is the analysis Get Get analysis We could call it that And then the analysis will basically get used the cat analysis To get the data And then Takes that data and model setting Sorry Displays it Page And the same can be done To the front So the same Dynamic get can we use them The front again So that's sort of how component builder works If you not looking at the fields itself The fields is a discussion on its own but This which I have now sort of just typed out your very basic and aliment Is really what you need to know before coming to component Builder You need to know what you want to achieve What do you want to Build Ants If possible map the field Under each of these So in sermons we will have name And We will have Preacher Right And we'll have series And we will have Files Right So they should be under Sermons that on the preacher We will have also name And we will have Maybe email Scripture Website Oh maybe I can't I can't hear Same goes for series We will add a name And I think I will be Description Since we only counting downloads we will have a Farming And We will have a counter And we will have a sermon Which is the ID Just leave it this So now And That will be it So That means if you can Somehow Map these things Before hand it will help you tremendously The reason being That If you start in component Builder You can Start by creating A new component And you can add name and all this information But then you'd get to obviously you would skip most of these for the initially just getting started You just set up these Fields that are compulsory Stars And This component image that tells you here Dimensions 300-360 And you must put it in the image folder And then you can access it from here Let me see This version updates Is there Nice feature which will really look into detail later So you at all these compulsory fields At settings You would hardly do anything Scripts as well you just leave blank read me also playing Then add views After you've saved the component once I mean That means you've Now added name and you've added these and you clicked save Then You'd basically be able to start adding views to it Now the way to add a view to component Is different from the way to create a view You adding to view through the settings tab But you can create new views through this area and you can also see you're ready connected Explain this again some PB this is gonna be the duplication What are you really primarily wanted to show you Is that if you start building a component You feel very lost if you do not know where you going And This will help you know where you going it will help you know it you need to set up these views And you need to add these Fields to those views And That that kind of information and knowing how to construct this is something that you Need to know before hand No obviously you can always add more fields And you can always get more views it's not that you need to be that far and be That sure that you didn't miss Missed something It's more that you just need to know what you wanna do I cannot decide that for you And you need to realise it you literally have to create all of these Fields before you can add them Into a view and this Line Are seen as a view although it When it's compiled will represent two views It is in component builders Component Back and views It's in as one of you And is Fields will need to be created before they can be added to this view in the same goes with these The nice thing though is the name field Can You can create it once and use it reuse it 3 times So you can reuse the name fuel You can also ring the use the head swell Sorry the heat sorry Are already at it By Default so you don't need to add an it's field We'll be talking about the default Fields later In showing you which Fields you don't need to add Yourself but he's at dynamic To each back in View A back in View now This is also a back in view but I'm I would always mention that there is a custom back in View The purpose being that it doesn't directly relate to a single Database What gives you the option of pulling from multiple databases as I've explained here And modelling the data and then displaying in So that's sort of a quick overview of how to get started with a component I realise there's so much more to say but it's very difficult to cover all of that and Hopefully as we go along Whatever questions still remain Will be answered We will be starting At fields So it seems sort of turned around right You I feel we must start at the core Ponant and then build views And then build the fields and you possibly right And you can do that I mean you can after having created the component You can click your own admin views which is the first Things you need to create is the app that views And click new and create an admin view but again even there You just like with the component only be able to set the bare bone information and not all the knee Need it more Nitty gritty complex information if I could say it so And that's why I usually Sorry I usually start at the bottom the bottom and work my way up I only start with creating all the fields I know I'm gonna need so I will basically Collapse this take these away Like that And Just go create all these fields And when I see there are duplicate Fields I would remove them Because I know we use them So I'll just create Fields that I know are unique And then when I come to certain Fields Like These These are custom fields These I won't 38 initially These are the custom fields These are custom fields And I won't create them initially So I would also separate the custom field now how do I know it's a custom field Spell because the preacher Is a I wanted to pull ideas from the preacher view so if we glad to hear Ok let's Marcus custom Fields again I would like to have This field basically link to that name write a list of these names And the same for the series I would like it to link to that value And In July you can create what is known as custom fields And component bowl that makes provision for you to do so But this is what I would call an advanced field And so we will only look at advanced custom fields After we've looked at creating Normal fields And grating Actually back in views Because only then will you understand the implementation of this custom Field since it will be linking to a buck in views value It's it's not just linking to a bunch of values if Linking directly To this back in views value called name and so we can't really create it until we re Really know how this is gonna look and that's why we will be only looking at that after I possibly Explain this again but Just that we Let you know where we going Building a component needs these kind of things Sort through and sort of mapped out Some of us might not need to write it down some of us do depends on who you are To me that doesn't really matter even if you have these things in your head As long as you come to component order knowing exactly well sorry that's At least knowing partially what you want to achieve and what you want Build Now that means you can do a lot of paper Planning and do do a lot of sort of structuring Of your component long before actually getting to component builder itself And that's really what this Short Tutorial was trying to illustrate That if you haven't done this you might get lost and not know where you heading when you start mapping The Fields and it be used in Things in component build itself Well thank you for watching Next stop Start looking at Field types And then we'll look at using fuel types Great fields And so solely will be perfect Progressing to eventually ending up with having this component Fully functional and working And we will be illustrating all of these Fields as they relate to this backend views that Linked Database tables And Hopefully that will give you A good enough in insight and Standing How old is she Ok thank you for watching \ No newline at end of file +What do you want to build a component In component Builder You need to come prepared There's a number of things that you need to know You need to know what you wanna build You need to know the database structure that you want to Set up These are mostly things that you will only know If you have a great Good [00:00:22](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m22s) Understanding Of A table And A database and How you Would like to have it mapped Now if you do not know that I could give you some pointers on some of the things you we Needed [00:00:39](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m39s) And at the same time try to explain Why you need to know these things Ok so We are using Sermon distributor which is a component that I've Developed For Distributing Sermons [00:00:58](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h00m58s) We using that as our demo Component that we are demostrating and how to build So you need to know what you gonna called it So we called it Sermon Distributor Then You would need to know The backend views Now the backend views in Joomla Must be [00:01:19](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m19s) Tightly connected To a Database And possibly In such a way that it Makes sense that the database Naming conventions and everthing follows soot I am not going to be able to To do an extensive Explanation on all this [00:01:37](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m37s) By just By illustrating what Is the best Convention of implementation Obviously component builder will allow you to You break these convenstions But later you would Regret doing so And Possibly have to [00:01:51](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h01m51s) redo a lot of things The purpose being that A lot of these conventions They add up To implementation in other areas like your costum field types and so forth which we will get to in a moment, well not a moment, well not a moment a few videos from now Ok so We first knew that when we were gonna build Sermon Distributor That is four field [00:02:20](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m20s) Sorry backend views Needed to To be set up Because we wanted these Features Inside of our component And that is the sermons I had a List View Of [00:02:33](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m33s) Sermons and as well and Editing View of a sermon And they shared a common data Database table And so we had preachers As well as Series list And series And statistic and statistic [00:02:51](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h02m51s) And they all share and as you can see they actually Represent two Views But one database table That means two views a listview And an edit view and you will hear me repeat these concepts over and over and if I get Confused are please forgive me as just so much repetition that you need to understand that When I talk about views plural I always talking about the list View If I talk about View Singular [00:03:27](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h03m27s) I'm always talking about the editable view which is basically in relation to the backend relay Sorry connection of the database itself So you backend usually forms the connection to the database Your frontend is much more dynamic and that's why we also have a dynamic Get concept which links to site views which is the front of your component these Things will take quite a lot of explanation if you not new if you sorry if you're new to coding and PHP and all that JavaScript CSS You possibly get lost but if you're not you'll be very happy in the way with implemented because it leaves With a lot of Dynamics and maneuverability Which is obviously partly why I developed this component because all the others felt [00:04:21](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h04m21s) Other component Builders out there felt like a cookie cutter you know you you can really only Crank out components that are sort of common to each other and I wanted to build something that's really Dynamic so Partly for that the site views and the custom backend views are Mostly the same kind of implementation both drawing their data from The Dynamic get Feature in component builder So you can think of these two, three sorry as working as a team But the backend views stand as the database for these So you need to set up these first and add to them All the necessary Fields which will then map the database [00:05:16](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h05m16s) Columns which you can then through the dynamic get connect to so that you can Formulate a data model Which can be reused in your custom backend and in your sight views so I don't know Does that explain it to you let me try again Just to make sure I have everybody on the same page your backend views are very Tightly connected to database structures so even if you were to look at Component Builder itself You have what is called components And if you were to open one it has fields in it And if you want to go to the database [00:06:02](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m02s) And also open component Builder Component the same table And you to click on structure you would see that the fields That we are seeing Here Here name name in code version version updates Bugs Short description description Copyright All these names [00:06:31](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h06m31s) Are actually mapping directly into the database add licence There is name is obviously alphabetical name Codename number images license Email CSS copyright You see it really directly Maps to the database and it is in a way Editing the database through this view So When it comes to the components you're your backend views are all being limited to this kind of Structure And this is not a limitation on component Builders behalf really it's really the way Joomla [00:07:13](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h07m13s) wants you to implement it by doing it this way your class is your model your controllers and Everything else just behave right because of that implementation now I know some might feel that is a major limitation but that is the Joomla API's implementation and if you want to Go Beyond that kind of infrastructure you must probably need to look at another Way than using component builder because we only implemented it that way so that your Your backend views directing Maps to the database But because we know that from time to time there is backend views that do not have even there own Database but rather takes these already saved information in the database Either from other third-party components or even your own component because we know that You would like to take that information and remodel it maybe into a spreadsheet [00:08:17](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h08m17s) Or into a Table sorry not a table but a chart or Any other kind of Way we added this custom backend views which behaves on the same Dynamics as The site views which means We trying to give you Best of Both Worlds first being that Strong tightly tight Tighting manage maybe datasets which relates directly to the view and the list View and so forth But at the same time the option of adding a custom backend view which can be dynamic and You know you can really do custom scripting in it you need not need to be concerned about all the other [00:09:08](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m08s) Overheads as you would usually be So You first need to know your backend views and then any possible custom views That maybe combines backend view so we could possibly in the future we haven't done so yet Possibly takes statistics and sermons And Preachers and series's because these statistics Are taking only the downloads Where us preachers has in them a field called hits And so does sermons have a field called hits that's just when someone opens one Without downloading is necessarily so does series's [00:09:55](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h09m55s) But statistics only counts the downloads of sermons so we could possibly add an extra Backend field sorry View custom backend view Called Analysis or anything And Then in analysis we can use the dynamic get Option To get data from all through those tables [00:10:29](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h10m29s) These tables basically from that one And Preacher table And a series table Let's shortened it a little by removing That and statisctics And then from them Do what we would call model Modelling [00:11:15](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m15s) Modelling the data And possibly end up with A whole new Data structure which we can then Place into a table or into a Chart In that view which means that it is now dynamic And no longer directly connected To the Database [00:11:38](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m38s) As these above Views are And it won't won't really have an edit view it will be a Single View Just displaying rows An analysis data From does multiple backend Database Tables And this Can also be done on the front of the site [00:11:59](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h11m59s) So That means this whole Get Feature We could Take it Put it under get And we can give it a name and we can call it It is the analysis Get [00:12:17](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m17s) Get analysis We could call it that And then the analysis view basically get used to get analysis To get the data And then Takes that data and models setting Sorry Displays it on a Page And the same can be done [00:12:37](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h12m37s) To the front So the same Dynamic get can be use in The front again So that's sort of how component builder works If you not looking at the fields itself The fields is a discussion on its own but This which I have now sort of just typed out your very basic and alimentary Is really what you need to know before coming to component Builder You need to know what you want to achieve [00:13:05](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m05s) What do you want to Build And If possible map the field Under each of these So in sermons we will have name And We will have Preacher Right [00:13:23](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m23s) And we'll have series And we will have Files Right So they should be under Sermons that under preacher We will have also name And we will have Maybe email and discription and [00:13:45](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h13m45s) Website and what else Oh maybe I can't I can't hear Same goes for series We will add a name And I think that will be Description of course and by statstics since we only counting downloads we will have a File name [00:14:26](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m26s) And We will have a counter And we will have a sermon Which is the ID but let's just leave it as sermon for now And That will be it So That means if you can [00:14:52](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h14m52s) Somehow Map these things Before hand it will help you tremendously The reason being That If you start in component Builder You can Start by creating A new component And you can add name and all this information [00:15:14](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m14s) But then you'd get to obviously you would skip most of these for the initially just getting started You just set up these Fields that are compulsory the ones with the Stars And This component image that tells you here the Dimensions right 300pix X 300pix And you must put it in the image folder And then you can access it from here Let me see [00:15:44](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h15m44s) This version updates Is a Nice feature which we will really look into detail later So you'll add all these compulsory fields At settings You would hardly do anything at this stage Scripts as well you just leave blank read me also blank Then add views After you've saved the component once I mean That means you've Now added name and you've added these and you clicked save [00:16:13](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m13s) Then You'd basically be able to start adding views to it Now the way to add a view to a component Is different from the way to create a view You adding the view through the settings tab But you can create new views through this area and you can also see you're ready connected views and I'll explain this again so maybe this is gonna be a duplication What are you really primarily wanted to show you Is that if you start building a component You feel very lost if you do not know where you going [00:16:48](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h16m48s) And This will help you know where you going it will help you know it you need to set up these views And you need to add these Fields to those views And That that kind of information and knowing how to construct this is something that you Need to know before hand Now obviously you can always add more fields And you can obviously add more views it's not that you need to be that forough and be That sure that you didn't miss Missed something It's more that you just need to know what you wanna do [00:17:23](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m23s) Component Builder cannot decide that for you And you need to realise it you literally have to create all of these Fields before you can add them Into a view and this Line Are seen as a view although it When it's compiled will represent two views It is in component builders Component Backend views It's seen as one view [00:17:50](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h17m50s) And these Fields will need to be created before they can be added to this view in the same goes with these The nice thing though is the name field Can You can create it once and use it reuse it 3 times So you can reuse the name field You can also use the hits well Sorry the hits Are already added By Default so you don't need to add an hits field [00:18:17](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m17s) We'll be talking about the default Fields later In showing you which Fields you don't need to add Yourself but it's add dynamicly To each backend View This being a backend View now This is also a backend view but I'm I would always mention that there is a custom backend View The purpose being that it doesn't directly related to a single Database What gives you the option of pulling from multiple databases as I've explained here And modelling the data and then displaying it So that's sort of a quick overview of how to get started with a component [00:18:57](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h18m57s) I realise there's so much more to say but it's very difficult to cover all of that and Hopefully as we go along Whatever questions still remain Will be answered We will be starting At fields So it seems sort of turned around right You might feel we must start at the component and then build the views And then build the fields and you possibly right [00:19:24](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h19m24s) And you can do that I mean you can after having created the component You can click your own admin views which is the first Things you need to create is the admin views And click new and create an admin view but again even there You just like with the component only be able to set the bare bone information and not all the needed more Nitty gritty complex information if I could say it so And that's why I usually Sorry wrong file I usually start at the bottom the bottom and work my way up [00:20:02](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m02s) I usually start with creating all the fields I know I'm gonna need so I will basically Collapse this take these away Like that And Just go create all these fields And when I see there are duplicate Fields I would remove them Because I know we use them So I'll just create Fields that I know are unique And then when I come to certain Fields Like These These are custom fields [00:20:42](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h20m42s) These I won't create initially These are the custom fields These are custom fields And I won't create them initially So I would also separate the custom field now how do I know it's a custom field well because the preacher Is a I wanted to pull IDs from the preacher view so if we Ok let's mark those custom Fields again I would like to have This field basically link to that name right a list of these names [00:21:45](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h21m45s) And the same for the series I would like it to link to that value And In Joomla you can create what is known as custom fields And component builder makes provision for you to do so But this is what I would call an advanced field And so we'll only look at advanced custom fields After we've looked at creating Normal fields And creating Actually back end views [00:22:15](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h22m15s) Because only then will you understand the implementation of this custom Field since it will be linking to a back end views value you see It is not just linking to a bunch of values it is Linking directly To this back end views value called name and so we can't really create it until we Really know how this is gonna look and that's why we will be only looking at that after I possibly Explain this again but Just that we Let you know where we're going Building a component needs these kind of things [00:22:51](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h22m51s) thought through and sort of mapped out Some of us might not need to write it down some of us do depends on who you are To me that doesn't really matter even if you have these things in your head As long as you come to component builder knowing exactly well sorry that's the wrong word At least knowing partially what you want to achieve and what you want to build Now that means you can do a lot of paper Planning and do do a lot of sort of structuring Of your component long before actually getting to component builder itself And that's really what this [00:23:33](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m33s) Short Tutorial was trying to illustrate That if you haven't done this you might get lost and not know where you're heading when you start mapping The Fields and the views and the Things in component build itself Well thank you for watching Next stop Start looking at Field types And then we'll look at using field types to create fields [00:23:56](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h23m56s) And so slowly we'll be Progressing to eventually ending up with having this component Fully functional and working And we will be illustrating all of these Fields as they relate to this back end views that are linked to Database tables And Hopefully that will give you A good enough insight and [00:24:22](https://www.youtube.com/watch?v=gEgwiVNj6N0&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&t=00h24m22s) understanding of how all this should be done Ok thank you for watching