From f7bea9f7061628cd8bb8293d7cefad7b1d3bbdc2 Mon Sep 17 00:00:00 2001 From: Amigo <49749100+aamigo@users.noreply.github.com> Date: Mon, 28 Oct 2019 06:17:49 +0200 Subject: [PATCH] Updated 063 Proposed Collaborative Workflow in JCB (markdown) --- 063-Proposed-Collaborative-Workflow-in-JCB.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/063-Proposed-Collaborative-Workflow-in-JCB.md b/063-Proposed-Collaborative-Workflow-in-JCB.md index 408d071..3de6021 100644 --- a/063-Proposed-Collaborative-Workflow-in-JCB.md +++ b/063-Proposed-Collaborative-Workflow-in-JCB.md @@ -147,8 +147,18 @@ If you haven't cloned down the repository to your local developing environment, [00:34:07](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h34m07s) -If we do that remote branches we will see that there are two branches that are remote. The one is the origin and the other one is the upstream. Now it is time for the Next Step which is to sync the fork. First what we will do, we will fetch the upstream. This will fetch the files that has changed from the upstream which at this stage we know [00:34:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h34m42s) is the main master branch. To make sure that you are on the Master Branch, we are going to say: git checkout master. Next we are going to [00:35:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m09s) merge the upstream branch into your master branch. Now this will look differently depending on what happened. But it will give you a bunch of information and then this branch is the local branch and is now in sync with the upstream master branch. To get this [00:35:34](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m34s) you also need to update your branch on GitHub. You need to do: git push. This will push the changes back to Git. There are many things that can go wrong, or work out differently in Git. I'm not here to teach you how to use Git. [00:35:57](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m57s) If you run into some grey areas or difficult issues, you will need to Google and figure out how to get this done. This is illustrating the proposed workflow of developing components in JCB while collaborating with the greater community [00:36:18](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h36m18s) around a JCB package. Those of you that watched the tutorial on how to contribute to the Community Directory of JCB packages, much of what I'm going to explain further is already covered in that previous tutorial. We are almost finished with the circle. [00:36:41](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h36m41s) We started by forking the Joomla component, importing the JCB package. Making changes to that and compiled it, pushed those changes to the Joomla Repo and when those changes were accepted into that Repo, we went to the place where we found the JCB package which is in VDMs case [00:37:06](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h37m06s) the VDM package area. Where if it was a community component, you would follow the explanation given to you in that previous tutorial. At this point what we are going to do is, we are going to export the JCB package, add it to these packages that we have here, run our hash so if we look at this ls-la, we've a hash.sh file. If we run it now, there should be no changes to the Repo. [00:37:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h37m42s) Just as we expected nothing changed. Everything is up to date at the moment and the only file we are going to change is these three files(questions and answers), because we are going to update this package by exporting it from JCB with the changes we've made. Since you've contributed those changes to this question and answers, [00:38:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h38m09s) Joomla Component Repository, those who are going to validate this push switch we're about to make, going back to that repository and make sure that you're not changing things other than we should contribute there. +If we do that remote branches we will see that there are two branches that are remote. The one is the origin and the other one is the upstream. Now it is time for the Next Step which is to sync the fork. First what we will do, we will fetch the upstream. This will fetch the files that has changed from the upstream which at this stage we know [00:34:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h34m42s) is the main master branch. To make sure that you are on the Master Branch, we are going to say: git checkout master. Next we are going to [00:35:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m09s) merge the upstream branch into your master branch. Now this will look differently depending on what happened. But it will give you a bunch of information and then this branch is the local branch and is now in sync with the upstream master branch. To get this [00:35:34](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m34s) you also need to update your branch on GitHub. you need to do: git push. This will push the changes back to Git. There are many things that can go wrong, or work out differently in Git. I'm not here to teach you how to use Git. [00:35:57](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h35m57s) If you run into some grey areas or difficult issues, you will need to Google and figure out how to get this done. -???? +### Illustrating The Workflow Of Developing Components In JCB While Collaborating With Greater Community Around JCB Packages -At some point my anticipation is to actually build a bot which would validate this for us so that this stage it will still be live with manual so be slow [00:38:36](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h38m36s) But eventually will speed it up and the validation will happen faster and more efficient So you and JCB We now basically click on questions and answers And there is one little snag here which I realized I haven't actually resolved it And that is that you now need to actually have the same Key for this package Set in the admin or rather in the component As the one that the developer uses And that can only be given to you by the original owner of this package [00:39:13](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h39m13s) Which in this case is myself So and where does that what is that mean it means that this export key Must be the same one As the one that the package was compiled with originally Now if you have imported this and you see a key here You can be 100 % sure it is not the same key Because this is encrypted field You are basically just seeing the encrypted value Not the actual key The actual key was never exported [00:39:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h39m45s) Unencrypted it always remains encrypted and that's why we have the encrypted Fields all around JCB Not because we think is gonna make the database more secure necessarily That is because when we export and move data around That which is secret stay secret And only within that specific component developing environment of those keys unique So the way you get this is you need to communicate With that developer and actually ask him permission Whether you can extend on this package and then he needs to manually give you this key And so [00:40:22](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h40m22s) Since I can ask that From From for myself I'm gonna just add that key here to be sure that it is the same key With which it originally was compiled with Ok so now we've got those keys to be the same And it's sort of the way to tell everyone that you and that other developer Are an agreement That this in fact it possibly could happen That once your pull request To the JCB sorry to the Joomla component [00:40:53](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h40m53s) Repo Has been merged and accepted Then that team needs to give you the key That's how I think it'll work I'm not hundred percent sure this gonna be cemented Always got it changed But you do realize that trust and collaboration goes hand in hand So they need to give you the key if it's not a JCB package that actually requires a key Then it is a different story And yet the same sort of procedure will reply except the exchange of keys won't be necessary [00:41:27](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h41m27s) But now that you've got the key in place we basically click here And exported the JCB package So we now have this package Here in this folder And we now need to move it Into the repository Which is also Obviously the one we have now synchronised with our forked version So I have it here I'm gonna copy it actually gonna cut [00:41:54](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h41m54s) let's cut it From my temporal folder in my Joomla website To this repository paste it in And he is gonna ask if it should be Replace and we're gonna say yes Replace it And there we go we've got the package updated Now And we go back to command line And we do [00:42:17](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h42m17s) Git diff We'll see that That file is changed Now we also need to run this sh This hash file To update the And Now git Status [00:42:36](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h42m36s) we'll see if those files have updated So You'd possibly I'm not sure what VL Convention but I think Your pull request to the Joomla Repository of this component The ID of that could possibly be useful here It's just to sort of give a heads up and validate that you did First Contribute the code To the actual Joomla component and it was accepted [00:43:08](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h43m08s) And now this is the change to the package Which also now needs to be looked at So our case This is the pull request URL I think we just gonna use that in our commit message And Use the same commit message So it should looks something like this Update the component with the improvements made in JCB and maybe say ref [00:43:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h43m45s) And then The repositories username or organisation name The repository name With this Hash one Since the The pull request was number one Ok that would Do and then Will submit that [00:44:08](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h44m08s) And Now we push those changes to our Version of the repository Going back to GitHub then after the push has been submitted and we've look at this commit You see it actually has a link And this link is to that issue on GitHub To be easy for us to trace where you have contributed it to the actual Joomla component And why it's all happened being the same comment message [00:44:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h44m45s) Now this stage you again would make a pull request To the master branch Where we will basically review The changes Now again at this stage We don't have pull request templates and everything in place But as soon as they do get to be placed there then please follow those instructions Will try to be as thorough as we can But obviously being a community is always up for discussion and we will Try and [00:45:17](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h45m17s) Do this The right way At the moment we can put the ref in the description and then just again the comment in the Title if it's a long comment then just put Maybe a summary here short one and put the wrong comment back in here Ok and then you basically created the pull request At this point discussion will begin Validating to see that you followed all the procedures And that this package is stable and ready to become part of the Actual [00:45:49](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h45m49s) Repo And then once accepted it will be merged into the master branch Become available to the rest of the community So that's At the moment Illustration of what I consider a collaborative workflow in JCB So we Where at Next Step [00:46:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m09s) And we had to move to JCB Where They have now accepted and merged The Changes you made To the Joomla component And now the owner has given you the original key Because they trust The changes you've made And [00:46:28](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m28s) you know forked the JCB package repository Make sure you have it in sync if it's an old fork Then update the key with the key from the owner Then export to JCB package Add it to the local repo with a commit message and the reference As illustrated Then push the changed to your forked repo and make a pull request So here Is the workflow This could [00:46:55](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m55s) Become nicely documented I suppose Someone can take that upon them to even Make some nice chart I maybe not the correct guy for the job And this might Expand and become maybe much more advanced or it could be made more simple But in a nutshell just [00:47:19](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h47m19s) Below an hour We're at 47 minutes sort of This is the explanation of the collaborative Workflow with external Partners Around a JCB package Once this pull request gets merge we are basically back At the that this is in sync [00:47:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h47m42s) And This is in sync And this will continue and I'll go on and on And obviously others will contribute so There there are some other complexities also In this process But that is sort of what I can see happening I know that when you Pull the changes from the previous package you know this Where is it [00:48:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h48m09s) You know the import the JCB package There is the option to import it as a clone Or to import it with a merge Now the idea would be that you will only import and merge your JCB package With the global Repo As they accept This pull request And so that You would always stay in sync with what actually is currently the community version Of the package [00:48:37](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h48m37s) And you could import it it as a clone and make changes to the Clone and effect that will not effect the Main Master Version But this all is a trial and error process which You would Sort of show, teach yourself how that works And so my idea is to do that within a blank install try it out Pull in some of the free version play around with it Until you become confident [00:49:06](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h49m06s) And then you are able to also start contributing To not only the community packages But also VDM packages to which you've got access And so help improve those components For everyone Well thanks for watching I hope this is insightful And I'm sure there might be things that some of you would not able to follow And I would encourage you to just Google that and do some tutorials and [00:49:33](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h49m33s) Then I'm sure your will Manage. Ok thanks for watching. \ No newline at end of file +[00:36:05](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h36m05s) + +This is illustrating the proposed workflow of developing components in JCB while collaborating with the greater community around a JCB package. Those of you that watched the tutorial on how to contribute to the Community Directory of JCB packages, much of what I'm going to explain further is already covered in that previous tutorial. We are almost finished with the circle. [00:36:41](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h36m41s) We started by forking the Joomla component, importing the JCB package. Making changes to that and compiled it, pushed those changes to the Joomla Repo and when those changes were accepted into that Repo, we went to the place where we found the JCB package which is in VDMs case [00:37:06](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h37m06s) the VDM package area. Where if it was a community component, you would follow the explanation given to you in that previous tutorial. At this point what we are going to do is, we are going to export the JCB package, add it to these packages that we have here, run our hash so if we look at this ls-la, we've a hash.sh file. If we run it now, there should be no changes to the Repo. [00:37:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h37m42s) Just as we expected nothing changed. Everything is up to date at the moment and the only file we are going to change is these three files(questions and answers), because we are going to update this package by exporting it from JCB with the changes we've made. Since you've contributed those changes to this question and answers, [00:38:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h38m09s) Joomla Component Repository, those who are going to validate this push which we're about to make, going back to that repository and make sure that you're not changing things other than we should contributed there. At some point my anticipation is to build a bot which would validate this for us. At this stage it will still be a little bit slow, but eventually will speed it up and the validation will happen faster and more efficient. + +### Will Need The Same Key For The Package In The Component As The One The Developr Uses + +[00:38:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h38m42s) + + +??? +Here in JCB we click on Questions and Answers and there is one little snag here which I realized I haven't resolved. It is that you will need to have the same key for this package set in the admin or rather in the component as the one that the developer uses. And that can only be given to you by the original owner of this package [00:39:13](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h39m13s) Which in this case is myself So and where does that what is that mean it means that this export key Must be the same one As the one that the package was compiled with originally Now if you have imported this and you see a key here You can be 100 % sure it is not the same key Because this is encrypted field You are basically just seeing the encrypted value Not the actual key The actual key was never exported [00:39:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h39m45s) Unencrypted it always remains encrypted and that's why we have the encrypted Fields all around JCB Not because we think is gonna make the database more secure necessarily That is because when we export and move data around That which is secret stay secret And only within that specific component developing environment of those keys unique So the way you get this is you need to communicate With that developer and actually ask him permission Whether you can extend on this package and then he needs to manually give you this key And so [00:40:22](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h40m22s) Since I can ask that From From for myself I'm gonna just add that key here to be sure that it is the same key With which it originally was compiled with Ok so now we've got those keys to be the same And it's sort of the way to tell everyone that you and that other developer Are an agreement That this in fact it possibly could happen That once your pull request To the JCB sorry to the Joomla component [00:40:53](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h40m53s) Repo Has been merged and accepted Then that team needs to give you the key That's how I think it'll work I'm not hundred percent sure this gonna be cemented Always got it changed But you do realize that trust and collaboration goes hand in hand So they need to give you the key if it's not a JCB package that actually requires a key Then it is a different story And yet the same sort of procedure will reply except the exchange of keys won't be necessary [00:41:27](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h41m27s) But now that you've got the key in place we basically click here And exported the JCB package So we now have this package Here in this folder And we now need to move it Into the repository Which is also Obviously the one we have now synchronised with our forked version So I have it here I'm gonna copy it actually gonna cut [00:41:54](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h41m54s) let's cut it From my temporal folder in my Joomla website To this repository paste it in And he is gonna ask if it should be Replace and we're gonna say yes Replace it And there we go we've got the package updated Now And we go back to command line And we do [00:42:17](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h42m17s) Git diff We'll see that That file is changed Now we also need to run this sh This hash file To update the And Now git Status [00:42:36](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h42m36s) we'll see if those files have updated So You'd possibly I'm not sure what VL Convention but I think Your pull request to the Joomla Repository of this component The ID of that could possibly be useful here It's just to sort of give a heads up and validate that you did First Contribute the code To the actual Joomla component and it was accepted [00:43:08](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h43m08s) And now this is the change to the package Which also now needs to be looked at So our case This is the pull request URL I think we just gonna use that in our commit message And Use the same commit message So it should looks something like this Update the component with the improvements made in JCB and maybe say ref [00:43:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h43m45s) And then The repositories username or organisation name The repository name With this Hash one Since the The pull request was number one Ok that would Do and then Will submit that [00:44:08](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h44m08s) And Now we push those changes to our Version of the repository Going back to GitHub then after the push has been submitted and we've look at this commit You see it actually has a link And this link is to that issue on GitHub To be easy for us to trace where you have contributed it to the actual Joomla component And why it's all happened being the same comment message [00:44:45](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h44m45s) Now this stage you again would make a pull request To the master branch Where we will basically review The changes Now again at this stage We don't have pull request templates and everything in place But as soon as they do get to be placed there then please follow those instructions Will try to be as thorough as we can But obviously being a community is always up for discussion and we will Try and [00:45:17](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h45m17s) Do this The right way At the moment we can put the ref in the description and then just again the comment in the Title if it's a long comment then just put Maybe a summary here short one and put the wrong comment back in here Ok and then you basically created the pull request At this point discussion will begin Validating to see that you followed all the procedures And that this package is stable and ready to become part of the Actual [00:45:49](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h45m49s) Repo And then once accepted it will be merged into the master branch Become available to the rest of the community So that's At the moment Illustration of what I consider a collaborative workflow in JCB So we Where at Next Step [00:46:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m09s) And we had to move to JCB Where They have now accepted and merged The Changes you made To the Joomla component And now the owner has given you the original key Because they trust The changes you've made And [00:46:28](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m28s) you know forked the JCB package repository Make sure you have it in sync if it's an old fork Then update the key with the key from the owner Then export to JCB package Add it to the local repo with a commit message and the reference As illustrated Then push the changed to your forked repo and make a pull request So here Is the workflow This could [00:46:55](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h46m55s) Become nicely documented I suppose Someone can take that upon them to even Make some nice chart I maybe not the correct guy for the job And this might Expand and become maybe much more advanced or it could be made more simple But in a nutshell just [00:47:19](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h47m19s) Below an hour We're at 47 minutes sort of This is the explanation of the collaborative Workflow with external Partners Around a JCB package Once this pull request gets merge we are basically back At the that this is in sync [00:47:42](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h47m42s) And This is in sync And this will continue and I'll go on and on And obviously others will contribute so There there are some other complexities also In this process But that is sort of what I can see happening I know that when you Pull the changes from the previous package you know this Where is it [00:48:09](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h48m09s) You know the import the JCB package There is the option to import it as a clone Or to import it with a merge Now the idea would be that you will only import and merge your JCB package With the global Repo As they accept This pull request And so that You would always stay in sync with what actually is currently the community version Of the package [00:48:37](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h48m37s) And you could import it it as a clone and make changes to the Clone and effect that will not effect the Main Master Version But this all is a trial and error process which You would Sort of show, teach yourself how that works And so my idea is to do that within a blank install try it out Pull in some of the free version play around with it Until you become confident [00:49:06](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h49m06s) And then you are able to also start contributing To not only the community packages But also VDM packages to which you've got access And so help improve those components For everyone Well thanks for watching I hope this is insightful And I'm sure there might be things that some of you would not able to follow And I would encourage you to just Google that and do some tutorials and [00:49:33](https://www.youtube.com/watch?v=zlhFyrCGWik&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=63&t=00h49m33s) Then I'm sure your will Manage. Ok thanks for watching. \ No newline at end of file