Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The name of your module or theme.
Atlas theme
A detailed description of what it does.
I'm working with joelpittet on an admin theme for Drupal 8. We'd like to apply for full project status.
Features
- Follows Google's material design guidelines
- Easy to install
- Themed toolbar with Atlas toolbar module
- Responsive
- Damn good looking, modern and functional design.
A link to its sandbox project on Drupal.org.
https://www.drupal.org/sandbox/PiersShepherd/2611792
git clone --branch 8.x-1.x http://git.drupal.org/sandbox/PiersShepherd/2611792.git atlas_theme
cd atlas_theme
The intended Drupal core version (eg. 6.x or 7.x)
8.x
I've never requested for a project to become a full project before so please ask any questions.
Comments
Comment #2
PiersShepherd CreditAttribution: PiersShepherd commentedComment #3
PA robot CreditAttribution: PA robot commentedGit clone failed for http://git.drupal.org/sandbox/piersshepherd/2611792.git while invoking http://pareview.sh/pareview/httpgitdrupalorgsandboxpiersshepherd2611792git
We are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #4
joelpittetI think it's particular about the spelling of your name for case sensitive, picky bot
Comment #5
joelpittetComment #6
joelpittetRegarding the checks as per https://www.drupal.org/node/1587704
Basic application checks
DONE in issue summary
It's an admin theme, functionality is a bit subjective for duplication.
Basic repository checks
DONE Yes, a bunch:)
Security Review
DONE Twig Autoescape is on by default and no MarkupInterface objects being passed in to templates. Slam dunk;)
Licensing checks
DONE not included.
DONE Themes can't depend on modules unfortunately #474684: Allow themes to declare dependencies on modules. Most third party is included via nodejs/npm and not included in the source.
Includes parts or all of:
Documentation checks
DONE Uses HTML, feature list, install help, recommended modules and screenshot to know what you are getting.
DONE added README.md following the template where applicable.
DONE inline comments are balanced.
Coding standards & style
DONE Cleaned up most of the coding standards issues that were applicable.
API and best practices Review
DONE Read through the one preprocess override and Twig templates for API usage.
Comment #7
cweagansThe third party code must be removed from the repo per https://www.drupal.org/node/422996, as none of the exceptions apply.
Comment #8
cweagans(And FWIW, I'm *really* excited about this theme. Looks awesome.)
Comment #9
joelpittet@cweagans if we moved those libraries to npm/bower to be installed later instead of including them, would that suffice? Hoping it's only the 3 mentioned in #6 4.2
Comment #10
joelpittetI have a feeling that outlinecss was forked heavily by @PiersShepherd so not sure but if we do that it actually would be a bit easier to maintain (I hope)
Comment #11
PiersShepherd CreditAttribution: PiersShepherd commentedHi fellas.
Thanks for your feedback @cweagans :D
I choose to use outline as a foundation for this theme as it was built by my colleague so I wanted to test it out. It's pretty light weight which is also why I choose it. It also doesn't have many components (unlike bootstrap/foundation etc) so it gave me a good starting point for this project.
I have pretty heavily changed and expanded on it and at this point you can't even call it outline. So... could we just folk it into our own project and then that removes the 3rd party problem?
Thanks again for taking the time to help out with this :D
Comment #12
PiersShepherd CreditAttribution: PiersShepherd commentedAlso, what are the guide lines with using 3rd party icons like Font Awesome? If we load the CSS library as an external resource is that ok? Or should be make all the icons ourselves?
Comment #13
PA robot CreditAttribution: PA robot commentedClosing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #14
joelpittetNeed some answers
Comment #15
RainbowArraySusy should definitely be pulled in via Bower, rather than having it included on its own.
The Font Awesome icons are being pulled in through an external request, so that's fine. The Font Awesome SCSS file in the vendors directory I'm less clear about. If that's an exact copy of an SCSS file that Font Awesome defines, and it's possible to pull that in through Bower, that should be done. If this is setting up custom extends that map to Font Awesome icons, that's a different issue. I'm not even sure that should belong in the vendors folder then.
The Outline Framework that's being used here has an MIT license. So if the Sass files for Outline are being directly put into this repo, that's probably not okay. And now that I look a little more closely, it looks like the Font Awesome file is defined in the Outline repo.
So what would probably be best is to pull in Outline via Bower, which does look possible. Then hook up the custom things you need to do with your Sass: those should be fine to use in the repo, even if they depend on functions, mixins and extends defined within Outline.
That should also make it a lot easier to review the project as it will more clear what code is custom to this theme, and what is a third-party tool.
Comment #16
cweagansSorry for the delay. Agree with ^ -- pretty much everything should be pulled in via Bower or similar. The modifications to Outline should either be submitted as patches upstream to the main Outline project, or overridden like you would with any other CSS. A modified Outline installation doesn't seem overly necessary here.
When you're ready for another look, comment here and don't be shy about harassing me on Twitter. I'm happy to come back and grant the vetted git role whenever you're ready.
Comment #17
PiersShepherd CreditAttribution: PiersShepherd commentedHi @mdrummond and @cweagans
Thanks very much for providing feedback. I truly appreciate it and will work on your recommendations over the next few weeks when I find time. I'll try and group all my questions together when I have them so i'm not drip feeding you issues.
Thanks again
Comment #18
PA robot CreditAttribution: PA robot commentedClosing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #19
joelpittetNo bot! Bad bot!
Comment #20
hesnvabr CreditAttribution: hesnvabr commentedIt occurs an errors when we installed this theme.
Error messageWarning: uasort(): Array was modified by the user comparison function in Drupal\shortcut\Entity\ShortcutSet->getShortcuts() (line 125 of core/modules/shortcut/src/Entity/ShortcutSet.php).
Drupal\shortcut\Entity\ShortcutSet->getShortcuts() (Line: 262)
shortcut_renderable_links() (Line: 387)
shortcut_toolbar()
call_user_func_array('shortcut_toolbar', Array) (Line: 393)
Drupal\Core\Extension\ModuleHandler->invokeAll('toolbar') (Line: 86)
Drupal\toolbar\Element\Toolbar::preRenderToolbar(Array)
call_user_func(Array, Array) (Line: 384)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 451)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 472)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 81)
__TwigTemplate_4b6309821a34ab39477e9ef597b8700ae9dc85173c8717f2c702f0b3c552fb5f->doDisplay(Array, Array) (Line: 381)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 355)
Twig_Template->display(Array) (Line: 366)
Twig_Template->render(Array) (Line: 64)
twig_render_template('core/themes/stable/templates/layout/html.html.twig', Array) (Line: 390)
Drupal\Core\Theme\ThemeManager->render('html', Array) (Line: 438)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 152)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 577)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 153)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 95)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 61)
Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(Object, 'kernel.view', Object) (Line: 116)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 124)
Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch('kernel.view', Object) (Line: 144)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 62)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 62)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 103)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 42)
Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware->handle(Object, 1, 1) (Line: 55)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 637)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Comment #21
PA robot CreditAttribution: PA robot commentedClosing due to lack of activity. If you are still working on this application, you should fix all known problems and then set the status to "Needs review". (See also the project application workflow).
I'm a robot and this is an automated message from Project Applications Scraper.