2011-02-16, 10:41 PM
As everyone knows, DragonFever, author of the wonderful ProPortal extension, dropped off the face of the Earth leaving behind ProPortal. I know it's a pretty popular extension and it works pretty well, but seeing as how DragonFever is no longer around to maintain, update, and add features to it I figured I would begin development of a better portal extension.
I've mentioned before in the ProPortal release thread that I had begun work on a rewrite, but take this thread as my formal announcement of:
ProPortal Redux
ProPortal Redux, although containing no code from ProPortal, will be released as a derivative work attributing DragonFever under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license.
Features
ProPortal Redux will have the same features of ProPortal but with several enhancements aimed primarily at administrators and block developers.
In ProPortal Redux, the administrative interface has been redesigned to be cleaner and easier to use. However, (and here's where things get spicy) for those with JavaScript, a new drag-n-drop interface has been added! This interface is completely JavaScript-driven with no page reloads so you can quickly and easily position all your blocks, set usergroup visibility permissions, add custom blocks, and more!
Block development has also improved greatly. Blocks follow the same format as a plugin for MyBB. Two functions are required for all blocks: an information function and a run function. The run function will output all the content for the block (which is caught and formatted by ProPortal Redux) and will have access to the MyBB class, database class, etcetera. This is to make things a lot neater and easier for block developers, which brings me into the paradigm shift in structure.
In ProPortal Redux, the portal system itself is completely separate from the blocks. ProPortal had a very vague line between a block and the portal system; for example, the announcements block had settings built into the portal system specific to itself. ProPortal Redux completely separates the two, which now allows individual blocks to specify their own settings! This allows block developers even more flexibility and in turn gives the administrator so much more control over each block.
The great thing about this is that all of this is handled for you. If a plugin has settings, ProPortal Redux will recognize this and, if the block has never been used before, automatically install the settings into the database. Likewise, on runtime, a block's settings are automatically loaded and passed as a parameter into the run function. There is absolutely no database work concerning settings for block developers.
Current Problems
With this much change going on under the hood, it's obvious that some petty big problems will arise. If you decide to delete a block that has settings, for example, should ProPortal Redux automatically delete those settings? Should blocks be installed and uninstalled instead?
Most of these problems concern blocks, but I think the system I'm designing right now will alleviate a lot of them.
Questions, Comments, and Concerns
Since I'm at the very beginning of development (I have almost the entire system in place but a lot needs to be done) right now is the time to suggest changes or ask questions about ProPortal Redux. Please, don't hesitate! Let's make ProPortal Redux the best portal extension available!
Read More Entries
As I develop and answer questions in this thread, I'll link to the posts here.
I've mentioned before in the ProPortal release thread that I had begun work on a rewrite, but take this thread as my formal announcement of:
ProPortal Redux
ProPortal Redux, although containing no code from ProPortal, will be released as a derivative work attributing DragonFever under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) license.
Features
ProPortal Redux will have the same features of ProPortal but with several enhancements aimed primarily at administrators and block developers.
In ProPortal Redux, the administrative interface has been redesigned to be cleaner and easier to use. However, (and here's where things get spicy) for those with JavaScript, a new drag-n-drop interface has been added! This interface is completely JavaScript-driven with no page reloads so you can quickly and easily position all your blocks, set usergroup visibility permissions, add custom blocks, and more!
Block development has also improved greatly. Blocks follow the same format as a plugin for MyBB. Two functions are required for all blocks: an information function and a run function. The run function will output all the content for the block (which is caught and formatted by ProPortal Redux) and will have access to the MyBB class, database class, etcetera. This is to make things a lot neater and easier for block developers, which brings me into the paradigm shift in structure.
In ProPortal Redux, the portal system itself is completely separate from the blocks. ProPortal had a very vague line between a block and the portal system; for example, the announcements block had settings built into the portal system specific to itself. ProPortal Redux completely separates the two, which now allows individual blocks to specify their own settings! This allows block developers even more flexibility and in turn gives the administrator so much more control over each block.
The great thing about this is that all of this is handled for you. If a plugin has settings, ProPortal Redux will recognize this and, if the block has never been used before, automatically install the settings into the database. Likewise, on runtime, a block's settings are automatically loaded and passed as a parameter into the run function. There is absolutely no database work concerning settings for block developers.
Current Problems
With this much change going on under the hood, it's obvious that some petty big problems will arise. If you decide to delete a block that has settings, for example, should ProPortal Redux automatically delete those settings? Should blocks be installed and uninstalled instead?
Most of these problems concern blocks, but I think the system I'm designing right now will alleviate a lot of them.
Questions, Comments, and Concerns
Since I'm at the very beginning of development (I have almost the entire system in place but a lot needs to be done) right now is the time to suggest changes or ask questions about ProPortal Redux. Please, don't hesitate! Let's make ProPortal Redux the best portal extension available!
Read More Entries
As I develop and answer questions in this thread, I'll link to the posts here.