Hi,
This is for the sake of maintaining my own SocialEngine website.
I have a 3rd party plugin and 3rd party custom extension. There have been reliability issues. I don't think I can depend on third party to keep my site running all the time without issue for my users. Plus there are more custom functions I want to add.
I'd like to learn how to build and maintain SE plugins, extensions and themes myself. My background is designing Wordpress websites. I've just learned PHP fundamentals more thoroughly thanks to a good Udemy course. I can't find any comprehensive course on SocialEngine development though and the SE documentation is sparse.
So I guess I'll have to piece together my own SocialEngine development course. Here's my training road map so far (below). What's off, missing, unnecessary or redundant here? I would appreciate any guidance you can offer. Thank you!
Also, how much training do you think it would take (hours) to learn how to make advanced SE plugins, assuming you're starting with a basic knowledge of css, html, php?
Road Map to Becoming a Social Engine Developer?:
Know
Just do nothing. Then you will be happy.
@Dave
Great that you are making a course. Please ensure not to give out our code in any way. It isn't allowed per the license.
Here is my own tutorial for making a basic plugin but you cannot copy it. If you need it to help you learn, that's fine. We are on Zend 1. So zend 2 won't help. We are updating it with a custom update for v6.
There are development guides in the learning center that might help. Link to learning center is in the top of this site. Those tuts go over the mvc, sdk, etc and even have tips for how to develop on it, including links to some good tuts.
I used to use netbeans but then found phpstorm to be much better. I still have netbeans but if you can get phpstorm, try it.
Time involved? Years. To be really good it takes years. You will want to know how to make your plugin light, fast, secure (very important), etc. As this is PHP, there is no easy way to actually fully delete plugins either. Not in any script I've tried. Not even wordpress. So think about that too. Make sure you don't do source edits or database edits in your plugins. This breaks stuff for clients.
I hope you do well in your learning venture. It's fun to learn. I enjoy making the small free plugins that I make via ScriptTechs and BryZar.
@Lee
We (SE) are trying to improve. I only became project manager over SEPHP a few months ago. Laminas is actually interesting and something we are looking at for the future. We looked at removing moo and it is so ingrained we cannot just remove it as that would disrupt everyone's site for upgrading. We need to keep it and then bypass it with newer stuff. That will come after v6 is released. We already actually added the functionality to do so in v5. It's just a matter of painstakingly bypassing moo for the other stuff, one area at a time. Doing it this way will allow clients to still use moo when they need to for their plugins and take advantage of the new stuff.
We have a lot of plans. There is hope for the future of SEPHP and our client's dreams.
Donna - is there a seperate developers forum/documentation site, or is the documentation site and this forum all there is for developers?
There is just this at the Learning Center, this community and then that one that I made. There may be others but be careful sharing any links as some are pirate sites and we don't allow that to be shared.
I thought I would add that the manual for Zend Framework 1.12, on which Social Engine is based is available here.
**edited by admin to fix link to open in new tab
I've also just realised that you can create basic documentation for Social Engine by running phpDocumentor on the Social Engine folder (with your plugins unzipped in to it, if you want them documented as well).
**edited by admin to fix link to open in new tab
Thanks for the feedback and tips!
I agree about 3rd party developers. So far everyone I've worked with has been great!
Only 'problem' is that the 3rd party SocialEngine plugins don't get updates quite as often as like a major Wordpress plugin for example. Some of those wp plugins get constant updates. Of course it isn't fair to compare because Wordpress has many times more users and Some of those plugins are multi million dollar ventures unto themselves so they can afford to make constant updates.
But nonetheless it's a problem for me. These 3rd party plugins often don't get updated until there are already site-breaking issues which can cause fallout, lost users, bad reviews, etc... I believe the only way I could truly keep the site up all the time is to learn how to do the advanced work myself.
That, as well as custom development are the reasons I want to learn as much as I can about building and maintaining a SocialEngine site. Again I'm just putting a 'syllabus' together for my own training.
Thanks again!
@DaveBush - This is exactly what I am doing with my site. I mainly make source edits, but I am going to learn to make plugins in due course so I can implement my 'hacks' properly.