The 1.9 theme and template system
#17
@Devilshakerz,

It was difficult for me initially to understand your proposal, which is why it has taken me so long to reply: I kept on putting off spending the necessary time to read and reread your proposal so as to fully understand it. However, the point at which 1.9 development resumes is near, so I have now spend the time necessary to understand what you propose.

To be sure that I understand you correctly, here's a summary of what, on reflection, I think you're proposing, perhaps in a slightly more concrete way than your more abstract description. I hope you correct me if/where I've misunderstood:

In your diagram, "Core theme" refers to the default theme supplied with MyBB core.

Custom theme developers base their custom designs upon, and inherit from, that core theme. This leads to what we might refer to as a "Custom-designed theme" or "Custom theme" for short (terms not used in your diagram), such as might be uploaded to the Extend site. These (raw) custom-designed themes are not explicitly shown in your diagram.

Extensions then provide to an "Extension layer" (per your diagram) a set of instructions as to how the core theme should be modified to satisfy the functionality of each extension. The extension layer then modifies the core theme according to those instructions. The result of applying these instructions to the core theme alone, resulting in an extension-modified core theme (as opposed to an extension-modified custom theme) is not shown in your diagram. In terms of your diagram, we would visualise this situation as one in which a custom theme is identical to the core theme, standing in for it.

At the same time as modifying the core theme, the extension layer modifies all custom themes according to those instructions, resulting, for each custom theme, in an "Original theme" (per your diagram). Conflicts may need to be manually resolved in the process of modifying custom themes into original themes. The changes made by the extension layer, including the resolutions of conflicts, are permanent; that is, they are stored across requests and do not need to be regenerated for each request.

Extensions then get a second bite of the cherry: they can again modify original themes in an almost identical way as they modified custom themes - that is, by supplying a set of instructions - with the result, for each original theme, being a "Board theme" (per your diagram). These changes are, as for changes made by the extension layer, stored permanently.

Finally, extensions get a third bite of the cherry: they can dynamically adjust board themes per-request by hooking in to the template system. These dynamic changes are - as "dynamic" implies - not permanent, and are not stored between requests; they are regenerated on each request.

Does that seem like a fair summary of your diagram/proposal?
Reply


Messages In This Thread
The 1.9 theme and template system - by Laird - 2021-04-24, 10:56 PM
RE: The 1.9 theme and template system - by Laird - 2021-04-24, 11:07 PM
RE: The 1.9 theme and template system - by martec - 2021-04-25, 04:09 AM
RE: The 1.9 theme and template system - by martec - 2021-04-25, 06:08 AM
RE: The 1.9 theme and template system - by Laird - 2021-04-25, 09:10 PM
RE: The 1.9 theme and template system - by martec - 2021-04-26, 01:37 AM
RE: The 1.9 theme and template system - by Laird - 2021-05-12, 09:28 AM
RE: The 1.9 theme and template system - by martec - 2021-05-08, 04:35 AM
RE: The 1.9 theme and template system - by martec - 2021-05-10, 05:23 AM
RE: The 1.9 theme and template system - by martec - 2021-05-13, 04:19 AM
RE: The 1.9 theme and template system - by Laird - 2021-07-08, 06:03 PM
RE: The 1.9 theme and template system - by Laird - 2021-07-08, 12:41 PM
RE: The 1.9 theme and template system - by Laird - 2021-07-08, 05:09 PM
RE: The 1.9 theme and template system - by Laird - 2021-07-09, 11:22 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-23, 01:44 PM
RE: The 1.9 theme and template system - by Laird - 2021-10-24, 05:26 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-24, 09:13 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-25, 04:20 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-26, 12:16 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-26, 12:21 PM
RE: The 1.9 theme and template system - by Ben - 2021-10-29, 08:09 AM
RE: The 1.9 theme and template system - by Wazzyl - 2021-10-29, 10:26 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-30, 04:43 AM
RE: The 1.9 theme and template system - by Laird - 2021-10-31, 04:04 AM
RE: The 1.9 theme and template system - by Raion - 2021-11-23, 01:31 AM
RE: The 1.9 theme and template system - by Laird - 2021-11-23, 02:14 AM
RE: The 1.9 theme and template system - by Raion - 2021-11-23, 06:31 PM
RE: The 1.9 theme and template system - by martec - 2022-05-05, 03:36 AM
RE: The 1.9 theme and template system - by Raion - 2022-05-06, 10:23 PM
RE: The 1.9 theme and template system - by martec - 2022-05-07, 12:46 AM
RE: The 1.9 theme and template system - by martec - 2022-05-11, 10:54 PM
RE: The 1.9 theme and template system - by Raion - 2022-05-12, 12:22 AM
RE: The 1.9 theme and template system - by Laird - 2022-05-12, 11:38 AM
RE: The 1.9 theme and template system - by Laird - 2022-05-12, 11:36 AM
RE: The 1.9 theme and template system - by martec - 2022-05-14, 05:40 AM
RE: The 1.9 theme and template system - by Laird - 2022-05-16, 04:39 AM
RE: The 1.9 theme and template system - by martec - 2022-05-16, 12:42 PM
RE: The 1.9 theme and template system - by Laird - 2022-05-16, 01:22 PM
RE: The 1.9 theme and template system - by Laird - 2022-10-03, 06:31 AM
RE: The 1.9 theme and template system - by Wazzyl - 2022-11-14, 01:47 PM
RE: The 1.9 theme and template system - by Matt - 2022-11-14, 03:08 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)