<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Modular configuration generation]]></title><description><![CDATA[<p dir="auto">I would propose the following as a transitional addition to the configuration system.</p>
<ol>
<li>
<p dir="auto">Add a simple GUI based configuration utility or web frontend to the system (there are some modules that attempt to do this already so it would be minimal work to adapt it to the following second detail.</p>
</li>
<li>
<p dir="auto">For the simple GUI enforce a configuration contract with modules that follows a defined schema using [tags] to define types of information blocks. For a module to be able to show up in the GUI developers will need to briefly update their github repository to add a contract.yaml etc file that defines the default settings for the module.</p>
</li>
</ol>
<p dir="auto">This merges into the main program a feature that other modules have attempted to create while transitioning the system to a true contract based configuration system that allows for much easier user settings changes. The onus is on the module developers to present the correct base configuration file from which the dynamic configuration file for magicmirror can then be crafted from.</p>
]]></description><link>https://forum.magicmirror.builders/topic/20272/modular-configuration-generation</link><generator>RSS for Node</generator><lastBuildDate>Mon, 15 Jun 2026 21:13:20 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/20272.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jun 2026 03:24:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Modular configuration generation on Mon, 15 Jun 2026 17:36:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/daedalus7" aria-label="Profile: daedalus7">@<bdi>daedalus7</bdi></a> one other focus area for MMM-Config,<br />
most of our ‘developers’ have never written a line of code before…<br />
they just want something displayed on the MM screen…</p>
<p dir="auto">so, I have done everything I can to make this a NO effort added value for them too.</p>
<p dir="auto">i don’t read the code to figure out how variables are used, and looking thru the modules, this only applies in less than 10 of now 1418 modules</p>
<p dir="auto">the mod to make a select list vs a text entry field is to add an<br />
enum:[choice1, choice2, choice3…]<br />
to the form definition</p>
<p dir="auto">and sometimes what you CAN do is javascript, doesn’t fit to the form UI at all, so one can convert back/forth with a converter routine to make it better… see the compliments module for example</p>
]]></description><link>https://forum.magicmirror.builders/post/131427</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131427</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 15 Jun 2026 17:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to Modular configuration generation on Mon, 15 Jun 2026 17:38:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/msimon360" aria-label="Profile: msimon360">@<bdi>msimon360</bdi></a> i’d love your feedback on a new feature</p>
<p dir="auto">I don’t provide support to upgrade individual modules.<br />
thinking about this</p>
<p dir="auto">should it only list those modules IN USE? or ALL modules ‘cloned’ into the modules folder (note ‘installed’ is a vague term here)</p>
<p dir="auto">as a developer of this module , I have 100’s of modules ‘cloned’, but only a few (in use) at any time</p>
<p dir="auto">I don’t want to burden the user with unnecessary things to work on. but don’t want to make them do things over and over from being too selective(Oh added another module to the active config, but its downlevel… oops)… (and I don’t WANT to provide a config option, cause NOBODY (me included) reads the doc)…</p>
<p dir="auto">maybe its just a checkbox on the page in use/all</p>
]]></description><link>https://forum.magicmirror.builders/post/131426</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131426</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 15 Jun 2026 17:38:09 GMT</pubDate></item><item><title><![CDATA[Reply to Modular configuration generation on Mon, 15 Jun 2026 16:37:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/msimon360" aria-label="Profile: msimon360">@<bdi>msimon360</bdi></a> use the search in the 3rd party list…<br />
links in the header of this forum</p>
]]></description><link>https://forum.magicmirror.builders/post/131425</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131425</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 15 Jun 2026 16:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to Modular configuration generation on Mon, 15 Jun 2026 14:51:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/sdetweil" aria-label="Profile: sdetweil">@<bdi>sdetweil</bdi></a> This is great. I have been working on something similar but I didn’t need to. I wish I could find cool things like this already exist for Magic Mirror easier.</p>
]]></description><link>https://forum.magicmirror.builders/post/131423</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131423</guid><dc:creator><![CDATA[msimon360]]></dc:creator><pubDate>Mon, 15 Jun 2026 14:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to Modular configuration generation on Mon, 15 Jun 2026 12:06:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/daedalus7" aria-label="Profile: daedalus7">@<bdi>daedalus7</bdi></a></p>
<p dir="auto">See my MMM-Config.<br />
<a href="https://github.com/sdetweil/MMM-Config" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/sdetweil/MMM-Config</a></p>
<p dir="auto">It supports the  base MagicMirror and all modules.</p>
<p dir="auto">It does not require a specific set of options, but auto discovers the module definitions<br />
It supports the module defaults, can provide select lists, booleans, numbers, floats, structures, arrays. And field level help</p>
<p dir="auto">Also supports live view of the module readme, in both install and configure scenarios</p>
<p dir="auto">A module developer can create a json file to describe their module config  if the auto generated format isn’t sufficient.<br />
See the wiki on creating the custom module form definition<br />
<a href="https://github.com/sdetweil/MMM-Config/wiki" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/sdetweil/MMM-Config/wiki</a><br />
I have helped a few module authors in this process.   and I have created a few customized forms, which MMM-Config ships to cover the modules not being maintained but used</p>
<p dir="auto">The objective of MMM-Config is to</p>
<ul>
<li>
<p dir="auto">support the modules(1200+) as is( some are not maintained, but heavily used),</p>
</li>
<li>
<p dir="auto">allow extended customization, (as you suggest), see the wiki, I provide a tool to generate the form for a module so that it can be tweaked instead of developed from scratch</p>
</li>
<li>
<p dir="auto">provide a common ui structure,  for the base and modules,</p>
</li>
<li>
<p dir="auto">support modules that support multiple instances ( calendar and weather are good examples)   ,</p>
</li>
</ul>
<p dir="auto">and do this as one view, everything all at once.</p>
<p dir="auto">The ui can be customized thru css</p>
<p dir="auto">The current version also provides support for module installation, using the data from the 3rd party module list</p>
]]></description><link>https://forum.magicmirror.builders/post/131419</link><guid isPermaLink="true">https://forum.magicmirror.builders/post/131419</guid><dc:creator><![CDATA[sdetweil]]></dc:creator><pubDate>Mon, 15 Jun 2026 12:06:08 GMT</pubDate></item></channel></rss>