[Define New Theme] 5. NEW Theme creation should happen in its own repo to be merged upon completion!

General discussion of development ideas and the approaches taken in the 3.x branch of phpBB. The current feature release of phpBB 3 is 3.3/Proteus.
Forum rules
Please do not post support questions regarding installing, updating, or upgrading phpBB 3.3.x. If you need support for phpBB 3.3.x please visit the 3.3.x Support Forum on phpbb.com.

If you have questions regarding writing extensions please post in Extension Writers Discussion to receive proper guidance from our staff and community.
User avatar
hanakin
Front-End Dev Team Lead
Front-End Dev Team Lead
Posts: 968
Joined: Sat Dec 25, 2010 9:02 pm
Contact:

[Define New Theme] 5. NEW Theme creation should happen in its own repo to be merged upon completion!

Post by hanakin »

*Note This is part 5 of a series found here

Re-Purposed!

To speed up the production of a new theme without affecting the current development cycle and prosilver development A new theme should be created as its own project as a new style on phpbb.com.


PROS
  1. This will decouple the design/development timeline from a release schedule for the core so as not to hold it up.
  2. It will allow for a complete overhaul of the template system and clean up of variables at the time of its completion ensure a complete separation from the core outputting any unwanted HTML/CSS/JS
  3. Make transitioning to all front facing controllers somewhat easier as all new template vars/system will be built in the process as its own module
  4. Ease development conversion to symfony routing ie viewtopic nightmare
  5. Allow for faster workflow and reduced requirements on Dev team for merging changes
  6. Allow for better community involvement via phpbb.com which is visited a lot more via styles dev forum.
CONS
  1. Need to determine how to handle core changes inorder to adapt theme for testing and release (IE: all extensions, all PRs, or mix of both?).
Thoughts & Suggestions?
Donations welcome via Paypal Image

User avatar
nickvergessen
Former Team Member
Posts: 733
Joined: Sun Oct 07, 2007 11:54 am
Location: Stuttgart, Germany
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by nickvergessen »

You can create your own project if you want to. However we will always have a style included and need it so we can develop it.
It makes no sense to move it to a seperate project as most patches require backend and frontend changes.
You can also use the phpBB repository as base project for your project.
We tag each version on github, so you can just develop your style based on that tag and when we release a new version you just diff the two tags:
https://github.com/phpbb/phpbb/tree/release-3.1.0-b1
https://github.com/phpbb/phpbb/tree/release-3.1.0-b2
https://github.com/phpbb/phpbb/tree/release-3.1.0-b3
Member of the Development-TeamNo Support via PM

keith10456
Registered User
Posts: 523
Joined: Sat Apr 22, 2006 10:29 pm
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by keith10456 »

-1

IMO it makes sense to always have at lease 1 default theme included.

User avatar
hanakin
Front-End Dev Team Lead
Front-End Dev Team Lead
Posts: 968
Joined: Sat Dec 25, 2010 9:02 pm
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by hanakin »

nickvergessen wrote:You can create your own project if you want to. However we will always have a style included and need it so we can develop it.
keith10456 wrote:IMO it makes sense to always have at lease 1 default theme included.
your missing the point maybe I am not saying that the theme should not be included. I am saying that we should maintain its own development project and include the stable version of that in the main phpbb project.

nickvergessen wrote:It makes no sense to move it to a separate project as most patches require backend and front-end changes.
Only in the confines of an existing theme! There will be a lot of changes/pulls/bugs with a new theme which deal solely with the HTML/CSS/JS
nickvergessen wrote: You can also use the phpBB repository as base project for your project.
We tag each version on github, so you can just develop your style based on that tag and when we release a new version you just diff the two tags:
https://github.com/phpbb/phpbb/tree/release-3.1.0-b1
https://github.com/phpbb/phpbb/tree/release-3.1.0-b2
https://github.com/phpbb/phpbb/tree/release-3.1.0-b3
No because I do not develop a theme to fit a back-end! If its truly abstracted I would develop a theme to meet the needs of the content/UX/UI. Then turn around and make sure the backend has everything I need.

Look I am completely open to suggestion on how best to handle this.

The main problems with the current way that I have are as follows.

1. The concept of development vs production themes. A development version of the theme somehow needs to be maintained. I can elaborate more on this if need be.
2. The current method of tracking the development and progression of the theme is diluted in the confines of the entire projects scope. It is not easy to only see/track changes,bugs,issues only related to the HTML/CSS/JS layer
3. Their are several resources that are required for development on the front-side that we may not want to ship but should be maintained within the confines of the theme. Add these to the already complex directory structure of phpbb along with a more suited development break-out of content and your file base can become astronomical.
4. Currently if their is a bug or issue with the theme that might be an easy fix we have to either wait for a completely new release of phpbb to publish said fix. When dealing with the front-end these can pile up fairly quickly.
5. A change that only affects the front-end with no changes to the back-end is not easily understood for those testing/developing since they usually get merge with unrelated merges of back-end changes.

If you have suggestions on how to resolve these without some sort of separation I am open to them.
Donations welcome via Paypal Image

Nicofuma
3.2 Release Manager
3.2 Release Manager
Posts: 299
Joined: Sun Apr 13, 2014 1:40 am
Location: Paris

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by Nicofuma »

But in phpBB all the features (almost) are related to a front-end and a front-end is always related to a backend. So who will create and update the templates? And in which order should the PR be merged? The style first (will not compile because the vars aren't available) or the back-end (will not compile too because the template file will not be available)? Or you aren't talking about the templates? In this case it make no sense to have css in a project and the HTML in another, they are related.
Member of the phpBB Development-Team
No Support via PM

User avatar
brunoais
Registered User
Posts: 964
Joined: Fri Dec 18, 2009 3:55 pm

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by brunoais »

@hanakin
Question:
How do I execute functional tests on travis if the theme is on a completely different project?

User avatar
hanakin
Front-End Dev Team Lead
Front-End Dev Team Lead
Posts: 968
Joined: Sat Dec 25, 2010 9:02 pm
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by hanakin »

Nicofuma wrote:But in phpBB all the features (almost) are related to a front-end and a front-end is always related to a backend. So who will create and update the templates? And in which order should the PR be merged? The style first (will not compile because the vars aren't available) or the back-end (will not compile too because the template file will not be available)? Or you aren't talking about the templates? In this case it make no sense to have css in a project and the HTML in another, they are related.
The front-end testing does not really ever fail since css/less does not require the backend. And Html renders regardless you just see the temp vars. The backend is the only issue, the changes could just be pulled in from the template with their merge if you link the repositories. Just a suggestion though
brunoais wrote:@hanakin
Question:
How do I execute functional tests on travis if the theme is on a completely different project?
Not the best person to address that I am not really fully familiar with travis
Donations welcome via Paypal Image

User avatar
nickvergessen
Former Team Member
Posts: 733
Joined: Sun Oct 07, 2007 11:54 am
Location: Stuttgart, Germany
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by nickvergessen »

to keep this short. I don't think it's ever going to happen.
Member of the Development-TeamNo Support via PM

User avatar
brunoais
Registered User
Posts: 964
Joined: Fri Dec 18, 2009 3:55 pm

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by brunoais »

I support nickvergessen on this one.

User avatar
hanakin
Front-End Dev Team Lead
Front-End Dev Team Lead
Posts: 968
Joined: Sat Dec 25, 2010 9:02 pm
Contact:

Re: [Define New Theme] 5. Theme should be managed as its own project

Post by hanakin »

point is not weather its going to happen that point is something needs to be done to attempt to fix some if not all of these issues
hanakin wrote:
1. The concept of development vs production themes. A development version of the theme somehow needs to be maintained. I can elaborate more on this if need be.
2. The current method of tracking the development and progression of the theme is diluted in the confines of the entire projects scope. It is not easy to only see/track changes,bugs,issues only related to the HTML/CSS/JS layer
3. Their are several resources that are required for development on the front-side that we may not want to ship but should be maintained within the confines of the theme. Add these to the already complex directory structure of phpbb along with a more suited development break-out of content and your file base can become astronomical.
4. Currently if their is a bug or issue with the theme that might be an easy fix we have to either wait for a completely new release of phpbb to publish said fix. When dealing with the front-end these can pile up fairly quickly.
5. A change that only affects the front-end with no changes to the back-end is not easily understood for those testing/developing since they usually get merge with unrelated merges of back-end changes.

If you have suggestions on how to resolve these without some sort of separation I am open to them.
Donations welcome via Paypal Image

Post Reply