[mythtv-theming] MythTV-Themes project and old myththemes repo
Michael T. Dean
mtdean at thirdcontact.com
Tue Feb 28 03:26:27 UTC 2012
On 02/27/2012 10:21 PM, Michael T. Dean wrote:
> The ... themes in MythTV/myththemes repository
> ... have ... been moved to a new github project,
> MythTV-Themes ( https://github.com/MythTV-Themes )
> The project is available for use by any themer who wants to use it. If
> you're interested in moving your existing repository to the
> MythTV-Themes project, please let me know and I'll set up a new
> repository for you and provide you with the permissions you'll need on
> that repository.
The fine details (split into a separate e-mail so my first e-mail wasn't
so long that it scared people into deleting without reading) :
Each theme in the MythTV-Themes project is a separate git repository.
This has several benefits: a) it allows us to grant fine-grained
control over permissions, b) it allows theme authors/maintainers to
simply clone the repo into their ~/.mythtv/themes/ directory and work on
the theme in the same location where MythTV is using the theme (meaning
no required configure/make/make install type approach), c) it makes each
theme repository nice and small (generally taking only a small amount
more space than the theme itself), and ...
As far as permissions, we have created a <themename>-Admin "team"
(basically a "group" of users or "role") that has push/pull/admin
privileges on the repo, and a <themename>-Commit team that has push and
pull privileges. Currently, theme authors are assigned to the -Admin
team, meaning they are allowed to administer the theme--including adding
additional maintainers to either the -Admin or -Commit team.
Eventually, I hope to move Terra and MythCenter-wide and MythCenter from
MythTV/mythtv repository's mythtv/themes directory into separate
repositories on MythTV-Themes, and open them up for maintenance by the
community. While they are still used as "default" themes for MythTV,
they would be pulled in by mythtv's build, so that they're installed on
all systems. Once we create new default and default-wide themes--that
would be fully-usable themes, rather than "fallback-only" shell
themes--Terra and MythCenter* would exist only within the MythTV-Themes
project, and would not be installed by default (would only be installed
if selected for use in the Theme Chooser). However, even then, default
and default-wide would exist within MythTV-Themes and be pulled in by
the mythtv build for installation.
Since all themes will become "external" themes, that means that
developers will no longer be able to just go in and change "all" the
themes when adding new features to MythTV. This has several benefits.
First, it prevents users from seeing any theme as special or "officially
approved" or whatever. Second, it keeps us MythTV developers--who may
not understand or, at least, may not share the theme designer's creative
vision--from going in and "breaking" the style/consistency/look/feel of
the theme. And, third, because MythTV/myththemes did not actually
contain /all/ the themes, we developers tended to forget about themes we
didn't see in our repo, so we generally failed to provide good
information to themers about the changes to the MythTV code and what it
meant to themers (forcing you all to try to keep up based on -commits
messages or wiki documentation change history). Now, however, since all
themes will be external, we'll be forced to better share information
with all the themers about code changes. I'm hoping to set up some
process by which a MythTV developer who makes changes that affect
theming will inform themers (likely with an e-mail to this list) of the
changes, what it means for theming, and an example of how to use the
feature in themes (which you all can choose to use to update your
themes, or as a basis for designing the feature into your themes, or, if
not mandatory changes, leave out of your theme if it doesn't fit the
vision). More on this after 0.25 release, and--especially--if I can get
permission to move Terra and MythCenter* into MythTV-Themes project.
If anyone has any questions about the project or getting it to do what
they need (or if git or github causes any problems), please let me know
and I'll do what I can to help. Or, if anyone has any suggestions for
things we can do to make it easier for you all to create and maintain
your MythTV themes, please let us know.
More information about the mythtv-theming