Essential in Moodle 3.7 and beyond

Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Number of replies: 38
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Introduction

In Moodle 3.7 the Bootstrapbase theme will be removed: https://moodle.org/mod/forum/discuss.php?d=373899 and more specifically https://moodle.org/mod/forum/discuss.php?d=373899#p1545199. It is Moodle HQ’s intent that it could go into the plugins database and be maintained by somebody.  Having once included Bootstrap within Essential, in effect having Bootstrapbase within it, I found that was a lot of work to maintain.  Therefore it is highly unlikely that I’ll maintain it.

Essential is a child theme of Bootstrapbase which in turn contains the Bootstrap 2.3.2 framework.  The new core theme ‘Boost’ contains the Bootstrap version 4.0.0 framework. This is a much improved version of Bootstrap that has functionality that is based upon the learning of the old and the issues it may have had.

Essential itself has evolved over the years, starting with its initial developer Julian Ridden, then David Bezemer took it over, shortly afterwards, I joined him. Then he left and I have been developing and maintaining the theme ever since. Over this time I have attempted to stay true to the vision and functionality that Julian instigated.


The situation

Improving and maintaining Essential to cope with change is perhaps harder than the change itself.  It is a complex theme and I do find that changing one element can unexpectedly break another.

The more changes between Moodle versions there is, the harder and more complex the changes required to Essential. Critically, quantifying the amount of time proves tricky as I simply don’t know how long it can take because: it’s bespoke unique code, the changes have never been applied to this situation before.  So even if I can estimate based upon past experience, it is an educated guess rather than a science.  Also it is quite probable that 90% of the changes can be done only to find one critical change that can’t and thus break the theme and upgrade process.

As Essential is complex there is a mental limitation on how much can be ‘up in the air’ during the change that one mind can cope with, making the upgrade process difficult.

Essential has the following technical differences to Boost:

  1. CSS is written in LESS and not SCSS that Bootstrap 4.0.0 is.
  2. Uses the Bootstrap 2.3.2 grid system rather than the Bootstrap 4.0.0 system.
  3. There is less use of templates.
  4. Some of the JavaScript does not use the AMD module methodology.

Of these, the first and second would be the biggest and hardest to upgrade.

To me, Essential from a look point of view is starting to feel dated and be like the web of the past.  What really matters is what it does and the functionality / features that facilitate changes via the user interface.

I don’t know what functionality is used and what is not.  There could be functionality that is simply not being used and yet taking up maintenance time.


The solution

I will be stopping development of Essential at Moodle 3.6.  There will be no Moodle 3.7 or above version.  I will maintain the theme for as long as I can.  Instead I will progressively develop the new Foundation theme (https://moodle.org/plugins/theme_foundation) using functionality ported from both Essential and Shoelace (https://moodle.org/plugins/theme_shoelace - which will also stop development at Moodle 3.6).

If I apply the strategy of applying changes in defined conceptual functionality units to a code base that is known to be working then any issues should be with the new changes themselves.  Having smaller single changes will bring a greater chance of success.

I can reuse and refactor the existing functionality from Essential (and Shoelace) using this strategy and at the same time, modernise and improve on it.  Functionality is therefore not written from scratch but rather ported from the past into the future.  This is a cleaner strategy with more certainty of success.

I will change the focus of ‘Foundation’ from being a small basic theme to that of one that has the ‘Foundation’ functionality you need before you make slight modifications to suit your styles.  There will be a new version for M3.6 released soon with:

  1. Favicon setting to general settings.  Provides the ability to use your own custom favicon.
  2. Login page background settings from Essential.
  3. Change login page forget password link styled like a button.
  4. Anti-gravity functionality from Essential.
  5. Alert system.  Multiple dismissible alert types on all, course, dashboard or frontpage pages.
  6. Frontpage carousel similar to one I created for Essential.
  7. Reduced version (no sub-menus on BS4) of the 'My Courses menu' from Essential.

Child themes

Foundation has the same technology for implementing child themes as Essential does.


My philosophy

I believe that the user should be able to change and control their Moodle sites look and feel without having to become technical.  Users do have a choice though if they do want to make technical changes.  And sometimes it is not possible to have non-technical changes.  But the belief still stands as much as practically possible.

I’m not a great believer in the Boost theme.  It feels to me to be restrictive in that you either have to change it or spend effort removing functionality that you don’t want in a child theme.  I find the flat navigation in the ‘nav drawer’ limited and frustrating.  Boost feels like “You can have it in any colour you like as long as its ‘this’ model with optional extras”.

I consider that it is far better to only have the code that you need rather than a whole load that you don’t or can’t control.


Thank you

Thank you for taking the time to read this information.  If you have any questions about this, then please don’t hesitate to reply below.


Gareth J Barnard

Average of ratings: Useful (20)
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Chris Kenniburg -
Picture of Particularly helpful Moodlers Picture of Plugin developers

You took Essential to new heights of awesomeness!  What an honor to maintain such a well liked and widely used theme for so long. 

This decision must have been weighing quite heavily with you. Can't wait to see what features you put into Foundation.  

Average of ratings: Useful (3)
In reply to Chris Kenniburg

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Thank you for your kind words Chris, it was indeed not a decision I took lightly and have been considering it for many months.

In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Just H -

100% understandable Gareth.  Having basically dropped out of Moodle due to organisational change, so not being around much, always surprised me you still put in the time and effort for such a complex theme with the ever changing base code.

I for one thank you for the effort you put into not only Essential but also the other themes etc. you have a hand in.

Average of ratings: Useful (1)
In reply to Just H

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Thank you 'Just H'.  Essential has been a 'challenge' but worth the effort to understand basic OO PHP and learn about AMD JS, along with the maintenance processes, configuration management and user support side of things.

In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Jez H -

Its a shame to see Essential come to an end but I think starting over with foundation sounds like the right thing to do.

It would be fair to say the Adaptable theme wouldnt exist without Essential (and other OS themes) and was the source of a lot of ideas over the years.

Average of ratings: Useful (1)
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Don Schwartz -
Thanks Gareth for all you've done with Essential over the years.

“Go back?" he thought. "No good at all! Go sideways? Impossible! Go forward? Only thing to do! On we go!" So up he got, and trotted along with his little sword held in front of him and one hand feeling the wall, and his heart all of a patter and a pitter.”
― J.R.R. Tolkien, The Hobbit or There and Back Again
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Jamie Tinley -
Thanks Gareth for all your years of hard work. few will reach this page to thank you but I can say thousands just from my own organization enjoyed your theme and appreciate your hard work even if they don't know who to thank. I look forward to whatever you next produce be it foundation or anything else. Thank you again.

Jamie
Average of ratings: Useful (3)
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by elmeser elmeser -

Hello and thank you for the wonderful theme and all the hard work put into it!

We enjoined using Essential for our university's moodle and it's unfortunate it's been discontinued.

We are looking foreword for your future work.

Will foundation incorporate Essential special Features?

In reply to elmeser elmeser

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Thank you Elmeser. Foundation will progressively improve over time, what Essential features will be ported, only time will tell.
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Osvaldo Canato -

Hello Gareth and fans of Essential Theme!

First of all I'd like to thank Gareth for the excellent job with the Essential Theme along last years.

The case is that we love so much that theme and have a lot of customizations and tutorials based on it that brings a lot of difficult to abandon it.

Yes, we already understand that is no way to continue the jorney with Essential and that we will have to choose another option like boost or Foundation theme.

But as this will cost us some time, I am still trying to put Essential to work on moodle 3.7, just like a temporary emergency.

So, once 3.7 moodle was succesfull installed, I installed the bootstrapbase theme and resolved a conflit that appeared in essential/classes/output/core_renderer.php (about a privated function), and "voilá", the theme looked working as always.

Not exactly! None "action menu" is working, so I can't insert, edit or delete any activity/resource or put a block on dock. Also, the drag and drop funcionality used to move a activity/resourse is not working.

It seens to be a problem with javascript but as I'm far from a expert in this subject,  I'm not sure.

I would be glad If anyone could give me some clues.


Cheers,

Osvaldo 

Attachment acionmenunotworking.png
In reply to Osvaldo Canato

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Hi Osvaldo,

You have broken JavaScript on the page somewhere, could be anywhere. Use the browser development tools (F12) to look at the console to investigate.

G
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Osvaldo Canato -
Ok, Gareth!

Difficult to discover but once discovered easy to fix.
I just had to override some mustache core files with their moodle 3.6 versions, specially "action_menu.mustache" and "action_menu_trigger" (copied to essential/templates/core).
Now I have essential theme working again even in moodle 3.7.1, and can take a while testing alternatives themes in our development site.

Cheers!
Average of ratings: Useful (1)
In reply to Osvaldo Canato

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers

Hi Osvaldo,

Where did you get the Bootstrapbase theme from please?  I cannot find it in the plugins DB.  Not so much for Essential but an alteration to Collapsed Topics.

Thanks,

Gareth

In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Osvaldo Canato -

Hello Gareth,

Yes, I also could not find it in plugins DB. So I Just copied the Bootstrapbase theme folder from Moodle 3.6 and pasted in Moodle 3.7 theme folder.

Regards!

Osvaldo

In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Animal the muppet -
Thank you Gareth for such hard work, the replies, the ideas, the pointing out to solutions and the direction. Thousands of users engaged in Moodle with your theme every single day for years and I hope this is a great feeling! I'm not sure a theme will come this close again to all the customisable functionality - Essential had such a great backend to modify . Thanks for all the hard work!
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Stephen Berry -

Thank you Gareth, your hard work with Essential has been much appreciated and made my job easier while maintaining my site and students, I appreciate your predicament, you've done an excellent job with the ever changing updates.

Regards

Steve

In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by heli g -
Hi Gareth,
I am so very sad to hear about the demise of Essential and want to thank you for this amazing theme and all your hard work and support. I have been looking into many different themes especially since the release of Boost... and I keep going back to Essential.
Like you I find the flat navigation of the ‘nav drawer’ very frustrating.

When I think about it, my love of Essential has much to do with combining the old functionality with new (making an upgrade from 1.9 less terrifying for end-users) - and, importantly, reducing dreaded scrolling. In the old days being responsive was also so amazing! I agree with you though that what was once so beautiful and modern is now starting to look dated (how quickly tastes change)... I really like the clean look of Boost - but using it is driving me nuts.

I been working with Foundation and I like what I see! I understand that change is necessary... but what follows below is what I most miss from Essential:

Currently key for me is having the Contextual Settings menu in the Navbar. This means that no matter where you are on the page the relevant settings can always be located in the same place and you do not need to scroll up to the Header to find them! (or scroll to the Course or Activity settings block (as in Adaptable)).
I do however like what you have done with Foundation with a large Go to Bottom button in the NavBar and Back to Top button which can quickly get you to the Settings menu placed (as in Boost) in the Header (I see now that these were always there, just smaller - but I never really needed to make use of them before). The logic does appeal to me - once again, understanding the frustration of the loss of the old while introducing the new.

The other Essential feature I am loath to lose is the Floating Submit button. See, once again I am displaying my aversion to scrolling...

I have seen in another thread that you question the purpose of Docking... I dock Admin Bookmarks. It is how I work. But I have experimented with placing the block in the Nav Drawer and see that - with time - this many be workable for me... Collapsible blocks are a neat solution for saving vertical space, and with blocks placed in the Nav Drawer just one click preserves the horizontal and hides the menus when they are not needed... but docking did this too - and I am used to it...Bang PC
But I guess if a single Nav Drawer is the solution Moodle HQ has chosen to take rather than docked blocks of your choice, we must too... (so long as the menu items are not flat!)

A great new addition to Foundation is being able to chose where Alerts are displayed - they look beautiful too!

You mentioned not knowing what functionality is used - below is what we make use of:
Colour picker!!!
Custom category icons (top level, fontawesome, frontpage).
Home blocks on Front Page (we use HTML blocks here instead of Marketing Spots - so I have kind of managed to reproduce using bootstrap grid in the Topics area).
Social networking and apps in Header.
Course content search in NavBar.
Theme Footer (Additional HTML places this below the existing Moodle footer - I would like this to share the same row).
Footer: Minimal Performance info.
Header block region.

One thing that I have noticed that our students make extensive use of is Alternative Theme colours! The authority adverse side of me likes having this available - while the site default follows Corporate Relations colour prescripts - our users don't need to... the Swatches look great for this... I particularly like Sketchy smile

Ok that's it from me. Thanks again - I really like Foundations clean look and feel and your subtle additions.

Heli

In reply to heli g

Re: Essential in Moodle 3.7 and beyond

by heli g -
I left out a really key Essential feature above: The This course downdown menu in the NavBar. It is something I rely on extensively in conjunction with breadcrumbs for course navigation when troubleshooting.
In reply to heli g

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Dear Heli,

Thank you for so much information. I've made a note of it. Would you consider funding any of it as enhancements in Foundation?

Kind regards,

Gareth
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by heli g -
Too much information no doubt mixed- but I wanted to give you feedback from an end user perspective - by way of a thank you I guess. If funding can be arranged you definitely deserve it. I'll investigate.
In reply to heli g

Re: Essential in Moodle 3.7 and beyond

by heli g -
I have just installed the latest release of Adaptable and see it has the contextual Settings menu in the NavBar - it's always at the top of the page!
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Rafiq Muhammad -

Hi Gareth,

I hope it is still not too late to say thank you smile.

My organization basically live with Essential theme. It has basically transformed how our users view Moodle and after almost 4 years, the theme still look very refreshing and up to date.  I was just about to start a new project with the latest Essential theme and found out this "sad" news. Anyway, everything will eventually comes to an end. Its time to move on. Will be looking forward for your new contribution and thank you again from the bottom of my heart.

Average of ratings: Useful (2)
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Mark Sharp -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Hi Gareth,
Just wanted to say thanks for Theme Essential. It was an important theme for us when we transitioned from Moodle 1.9 to 2.6. It allowed us to go responsive, and it showed what was possible with the theme. I learnt a great deal working with the theme and got introduced to the magic of grunt, less and font awesome.

Though we now use our own theme based on Boost, some of Essential's features still live on. I appreciate not everyone loves Boost, but it was themes like yours that made Moodle up their theme game. So, many thanks for all that you did.

Mark
In reply to Mark Sharp

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Thank you Mark smile
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Fatima Rahiman -

Hi Gareth

Firstly thank you for creating this wonderful theme!  We had  a request from a donor for a front page that would show off their many visuals and also allow  for offline use .Hence I selected this  theme and used it on Spoodle.(Im not a developer...only a learning designer  so it was a steep but  a manageable and enjoyable learning curve to say the least!)

We've now been asked to train the many universities who would like to implement the offline Spoodle onto their cloud. If the theme cannot be exported to  later versions of Moodle( i had no idea at the time what the implications  of that would mean when i selected the theme as our version was an old version of Moodle)   , what can i suggest to Universities ito of exporting the content to later versions of Moodle?

I'd hate to think that all the work done in customising the content(used the Book module mainly) would be lost  if one wanted to implement  the course on a later version...

Any advice on how to tackle this  issue would be most appreciated!








In reply to Fatima Rahiman

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Hi Fatima,

I did not create the theme, Julian Ridden did, however I then took it over (long story).

The code is still available so you're welcome to copy / adapt some or all of it to a new theme or attempt updating from BS2.3.2 to BS4 by asking / employing a developer. So the work is not lost, just available for reference.

I did not make the decision lightly to stop development of the theme.

G
In reply to Gareth J Barnard

Re: Essential in Moodle 3.7 and beyond

by Fatima Rahiman -

Thanks  for your response Gareth.

Maybe my question is not clear then...If i wanted to import the Spoodle course  with the Essential  theme onto Moodle 3.10,  could  I still do this or what level  of expertise e would be required ito  of the  code you refer to ...Sorry Im not a developer hence the dumb question...

Its just that i need to brief folk about the limitations of this  course  that I've created on a USB drive and who may wish to import it to their institutions online LMS . What exactly  can they do ?...for eg Would the content be exportable but just not the pretty interface? 

I am so sorry for bothering you just a bit in angst now ..



In reply to Fatima Rahiman

Re: Essential in Moodle 3.7 and beyond

by Gareth J Barnard -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers
Dear Fatima,

Sorry, I have no idea what you're talking about or how it relates to Essential. From my point of view I have stopped with Essential.

G
In reply to Fatima Rahiman

Re: Essential in Moodle 3.7 and beyond

by Jez H -
Hi Fatima,

What your backup contains are ONLY backing up the content / activities and resources.
When restored on other Moodle sites your course will use whatever theme is installed on that site.

So, you don't need to worry about the theme at all smile
Average of ratings: Useful (1)
In reply to Jez H

Re: Essential in Moodle 3.7 and beyond

by Fatima Rahiman -

Thanks so much for your kind and polite response Jez! (a theme that should be in all versions of Moodle and developers alike smile

That helps a great deal!!! I guess my concern remains the front page of the theme which used a slide feature  to showcase all the visuals that the donor wanted profiled. So I'll lose that but that's fine. 

Again I really appreciate your feedback! I'm going to try to install the Spoodle solution with the Essential theme on our new Moodle 3.8 I think and see. 

Have a great weekend and be safe!!