"Developers Guide to Customizing Jamroom" udemy course

michael
@michael
11 years ago
7,714 posts
The "Start your own Online Community" course is up and under way.
http://udemy.com/start-your-own-online-community

So the next thing I want to get going is another course for developers.

Initial title is:
"Developers Guide to Customizing Jamroom"

I would like to find some developers to help me with the structure.

What do you want to know first, what are some of the things your getting stuck on now? etc...

So if there's any developers who would be willing to work with me on this, please jump in here.

I think the goal is
* to take developers who want to build modules to a point where they are comfortable selling and supporting their module in the marketplace
* to take skin designers from a point where they have a skin design and want to convert that over to a jamroom skin.

not sure if it should be 2 courses, but for now, its one.
updated by @michael: 12/15/13 09:06:10PM
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
I think it should either be two different units (i.e. first x weeks designing a skin, second y weeks module dev) or two courses. There's probably enough info in each to merit 2 courses, but if you just want to do a general overview without getting too in depth, I'd do two units.

Just my opinion!

Kyle
michael
@michael
11 years ago
7,714 posts
Cheers Kyle. The thoughts i have so far are :

Section1: Our Goals
* introduction
Section2: Overview
* Jamroom's architecture
*
*

and from there, im not sure where to jump into next.
updated by @michael: 11/14/13 06:41:00PM
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
From there, for section three I'd walk them through cloning a skin (reasons why), and then an overview of the skin architecture.

Kyle
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Actually, I take that back, I'd go over tools and setting up a dev environment at some point before that, maybe even before section 2? I just think it would be good to standardize a development environment and the tools being used so it's easier to support people's questions.

I did a course on coursera on startup engineering, and it went all through linux basics and had us use amazon ec2 instances for everything. We went through basic linux commands, git, and dotfiles, and then each time we spun up a new ec2 instance, just git pulled the course dotfile that installed all the tools for us. I thought that was pretty cool. (something I've been wanting to do for general jamroom dev for a while anyways).

Kyle
michael
@michael
11 years ago
7,714 posts
smith.kyle:
Actually, I take that back, I'd go over tools and setting up a dev environment at some point before that.

---edit---
(new plan updated post below)
updated by @michael: 11/14/13 07:32:10PM
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Section4 - something on the smarty template system early on

Section5 - I'd walkthrough a module build like the youtube one for jr4 (or pick something else) after the file structure

Kyle
michael
@michael
11 years ago
7,714 posts
----Section1: Our Goals----
* introduction

----Section2: Development Tools----
* A look at the tools the JR team use
* PhpStorm
* Git
* PhpMyAdmin
* Setting up a Development Environment

----Section3: Jamroom Overview----
* Jamroom's architecture
* ?

----Section4: Skins----
* Skin File Structure
* A look at the SMARTY templating language
* Claiming a url with a skin template
* Cloning a skin
* Template editor over-ride of existing template
* Module template over-rides via new templates to the skin
* Convert an existing non-jamroom template into a Jamroom skin
* Function: jrCore_list
* Function: ???

---Section5: Modules----
* Module File Structure
* Module Naming Convention
* Events and Listeners
* Datastores
* Creating a Module
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Yeah that looks like a good basic outline.

re: section 2, I started a git repo a while back for jamroom tools - my goal was for there to be things like a vagrant setup in there, dotfile for setting up the environment (although vagrant could do a lot of that, a command line tool for building modules, etc. Anyways, that's a work in progress, and I haven't done much it yet, but just something to throw out there we might be able to build up that will help.

https://github.com/smithkyle/jamroom-dev

Kyle
michael
@michael
11 years ago
7,714 posts
I don't know what a vagrant is (other than an unwanted homeless man :( ) but it sounds like your getting good with this stuff.

there's a 'hello world' repo on github here:
https://github.com/PMaynard/JR5-Hello-World

If thats useful at all.
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
What!!??! Vagrant is pretty awesome!!!

http://vagrantup.com
https://puphpet.com

Spin up virtual machines with ease.

Kyle
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Oh and yes - I've got that repo starred, so I know it'll come in handy!

Kyle
michael
@michael
11 years ago
7,714 posts
sorry, sorry, sorrry. im going to read about vagrant now....

-- edit --
Ok, im wiser now. :)

Its a way to transport all of my development environment setup to you. So if someone said "Hey Mike, my sites not working", instead of replying with "I could figure out why if it was on my dev box because i have xdebug setup there." I can say, "make me a vagrant instance of your site and send it over. I'll put it on my dev box and debug it for you."

Cool tool.
updated by @michael: 11/14/13 08:05:23PM
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Yeah! We could make a standard dev virtual machine (like Brian made a long time ago), but the cool thing is that I think Digital Ocean supports vagrant, so you could run the same machine locally and on DO.

Kyle
brian
@brian
11 years ago
10,148 posts
I've actually already got a good DO image, but at this point DO won't allow you to "share" the image with other accounts, so it's locked up in our account right now. It's something they say is "coming soon" so let's hope it's sooner rather than later.


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net
SteveX
SteveX
@ultrajam
11 years ago
2,584 posts
Getting a small bunch of tutorials up on DO might be a good idea as well. Get Jamroom seen by other DO users.

You could write a couple of articles on how to set up a vps for jr5.

If there were a Jamroom section on the DO community page I'd add a virtualmin/Jamroom article.


--
¯\_(ツ)_/¯ Education, learning resources, TEL, AR/VR/MR, CC licensed content, panoramas, interactive narrative, sectional modules (like jrDocs), lunch at Uni of Bristol. Get in touch if you share my current interests or can suggest better :)
brian
@brian
11 years ago
10,148 posts
I'm in the middle of a very comprehensive guide on setting up Jamroom on Digital ocean called "High Performance Jamroom on Digital Ocean" - I'm trying to have that done by early next week as I've had a lot of offline messages asking for it. It's big though ;)

Thanks!


--
Brian Johnson
Founder and Lead Developer - Jamroom
https://www.jamroom.net
paul
@paul
11 years ago
4,326 posts
That's great. When its done, I think Steve was talking about getting it up here - https://digitalocean.com/community


--
Paul Asher - JR Developer and System Import Specialist
alt=
smith.kyle
@smithkyle
11 years ago
87 posts
Sweeeeeet!

Tags