This question has been bugging me for quite some time now, I want to create a cms, a School Mnagement System to be more specific, and what matters to me the most, is making this system plugin based, in a way that administrators can download and install plugins right through their admin panel, just like wordpress.
Now I've read about wordpress Hooks, Actions and Filters, and in all honesty i can say i'm just a little familiar with their functionality, but to apply same functionality to a Laravel App... , It's a bit hard to figure out, at least for me.
I've also searched about this question and found out that almost everyone is suggesting packages, But while packages can work great for other developers wanting to get use of the package's functionality, they can't be easily installed by a user not familiar with any programming language, And that's exactly what i want in my application.
Now what i have in my mind so far, as in Wordpress Actions and Filters, almost everything one would want to use in Wordpress theme files ( to make that piece of code flexible for adding plugin functionality ) should be called as functions, and calling that function by Wordpress do_action() is kind of a must-take path, which of course makes sense.
This way plugin developers can just call add_action() / add_filter() in their files and put their plugins into the flow of the application.
So...
Basically what I'm asking here is:
How to apply such functionality to a laravel app?
Is there an easier way than calling everything by a function like do_action()?
Should i write some kind of a file management module for downloading and updating plugins?
Again I must say that I am not very familiar with wordpress ways to achieve this kind of functionality, So I may be wrong about some of the description I mentioned above, But please, I appreciate any clarification around this subject if you can.
Thanks in advance for any insight.
*P.S. I've tried to be as clear as I possibly can about the problem, And I'm not looking for any specific method for the system I`m developing.
What i want is to know Common / Best methods ( If there is a best method ) for achieving such functionality, preferably in Laravel, but a general algorithm would still be very appreciated.
I know lots of people have the same question and are tackling with the same issue, so if you even only provide a link to a useful article it would be great.*
I have been working as a Wordpress Developer for a very long time and I also have sufficient experience in Laravel... and to be honest, making this kind of functionality is not that difficult at all.
How?
First of all, you must understand that the web app that you will be making will have all the functionalities, but they can only be enabled/disabled from the front-end (Admin Panel/Dashboard). In other words, your School Management System app is actually having all the features/functionalities pre-installed, but you are just allowing the users to enable/disable it. This is much simpler.
So, if for eg. you want to provide someone attendance management functionality, you will have to give the admin of the site, the access to enable/disable it.
Why?
Wordpress has a built-in UI for adding/updating plugins. But in Laravel, everything is code based and therefore this I believe is the simplest way to go (especially for making things in your app pluggable).
Steps
Make a site with UI etc...
Create a config and migration file which will have the names of all the plugins you are going to allow the user to enable/disable.
Make a sync command that will sync all the plugins in your app.
Use it render a page from the front-end and manage their status from the back-end (is_active etc etc...)
Now once, these plugins are active, make sure the user (say moderator, editor) has access to manage them, for which you will obviously have to create roles/permissions and use Laravel Policies for such stuff.
Lastly, only the admin will have the enabling/disabling writes and no one else.
For the other part where you want the people to perform their own functions with filters/actions. I'd say this is completely contradictory to the part where you say Installing Laravel Packages isn't easy. Well, if you would really want a developer a way into this, why not straight away ask them to make a package for your app alone? Hmmmm.... Think about it :)
But, even then, if you would like to create such a functionality, create a simple class which the user can call and user its functions to call their own functions... Something like -> SMSPlugin::do_action(). But then again, making things like updating/deleting the plugin will require you to build your own Plugin Store and ask users to upload to it. Then you'll have to make an API to constantly check for updates for all the installed plugins and blah blah.... It's a really long procedure... And I don't believe that feasible too!
Hope I answered everything. Let me know in the comments if you have any doubts :)
I know it was 2 years ago, but for now you can achieve this with laravel with some packages:
So i think the steps will be:
Create new Laravel App and add some packages for BASIC admin UI and things you will need like:
Authentication (https://laravel.com/docs/5.7/authentication)
Roles and Permissions (https://github.com/spatie/laravel-permission)
Users managment
Modules (https://nwidart.com/laravel-modules/v4/introduction)
At this point you must configure and write a UI for manage every thing from every package mentioned.
So i think this is the way or at least some try to do it in 2019 :D
Happy new year to all!
There's a package for this, it supports version 5, didn't test yet with 6:
https://github.com/oneso/laravel-plugins
I am new to this software. I was just wondering how to create/edit/check header, side, and footer link. What I have noticed so far from numerous searches is that it requires some type of actual manual programming. And also if it is not a template, I would have to add it through Static Blocks or Edit it through a .phtml/.php/.xml file which I have no idea to do. Assume I have the latest software. Any help is appreciated.
You can create a shop in english without manual coding at all. But you will get the result you asked for. A hard application without any customisations which probably will not be valid IRS-wise(for example, the invoices in Greece have to contain very specific things. If not they are not valid and you get fined.). The header and the footer are customised by Static Blocks from the backend of Magento without trouble. You will have to search for a documentation of your template ofcourse. There are so many information and we cannot give it to you with just one post. You will have to study and ask the right questions!
I am looking for the solution, as I am creating an application using CodeIgniter. I just want to create the user of that application having their own DB. I just want the way how to access the main directory application using subdomain.
Please provide solution I am totally lost and can't find the proper path.
It's multifaceted and theres a lot to do. Luckily for you there's a great tutorial here: http://net.tutsplus.com/tutorials/php/basecamp-style-subdomains-with-codeigniter/ Explains everything you need to do. Once you get going you can ask more specific questions.
I added 2 tables, for now, maybe will need more and I'm looking on how to add an administration page on the backend side. I found this SO question Magento: Custom Module: How to Manage with Multiple tables that is extactly whay I need. The answer given is just, in my own words, that's too dificult to achieve and too long to explain in SO.
So, anyone willing to share some link, tutorial or DIY step by step explanation? I've already my models working and configured, thanks to #AlanStorm tutorials. I'm doing CRUD operations from within my code but I need to do it from backend on a window for administration purposes.
I thought this Magento Custom CRUD Application Tutorial would help me but it involves using magento ModuleCreator plugin and is not working for me on magento 1.7.0.2. Also I already have my own module fully configured so lot of what module creator adds is not needed.
Found this sample/tutorial/code but I'm having hard time following it, lot of obscure points and not sure what I'm doing, even if it is correct.
You could definitely benefit from some adminhtml grids, there are no shortage of tutorials if you look for them. I wrote my own which I now shamelessly plug here.
I am trying to wrap my head around how these are all connected. I am trying to add some functionality to my main activity AJAX query if a button is clicked. I see the _inc/ajax.php to edit and have looked through it, but not sure where to edit it to include new options or new loops.
As of now it seems I can find some of the features listed but I am getting stuck on how they get connected up specifically when creating my own new custom loops to be used. I created a update-loop.php and put this in my theme folder in a new directory called 'update' but can't seem to get it loaded up correctly.
All I want is to get the filtering option to filter new blog posts. (if possible new blog posts from a specific category, which looking through the available options and don't see it anywhere). Note I am NOT using wordpress Mu.
Thanks for any help or guidance, I have asked on the buddypress support forums (lost cause) but I never get any feedback or any peep out of any one there.
---------EDITED:
Let me clearly ask at least one question that would be very helpful in my knowledge and future development with buddypress in working using AJAX.
How can I/If possible create my own custom loops and use them within the ajax filtering options on the main activity wall?
Please any help would be greatly appreciated...
I don't know if you custom functionality is (seperate) plugin but take a look at this:
http://codex.wordpress.org/AJAX_in_Plugins
I'm afraid I don't understand what you are asking or what you want to do....