Closed (fixed)
Project:
Checklist API
Version:
8.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
24 Nov 2013 at 01:05 UTC
Updated:
23 Apr 2014 at 03:40 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
blesss commentedWe start to port into Drupal 8.
Comment #2
couturier commentedYes, interested in this. It is essential for other important modules to function, like SEO Checklist. Wish I could help, but I'm not a programmer. I think other users going into Drupal 8 would benefit, though, if someone has the time.
Comment #3
blesss commentedOur team InternetDevels made the first patch which implements menu, forms, theme function, hook_init.
Comment #4
blesss commentedComment #7
traviscarden commentedThanks for the jumpstart, @blesss. At least the following issues remain:
Comment #8
mgiffordExcellent to see this. Looks like it's time for a new branch.
Comment #9
traviscarden commentedQuite so, @mgifford!
Comment #10
valderama commentedI continued the work on the port. And solved most issues:
Checklist forms have two "Save" buttons, and neither one works.Clear saved progress" links don't work.Clear" and "Compact mode" page callbacks shouldn't show in the menu but do.Progress bars are broken.Hide/Show item descriptions" links don't work.The Checklists report table needs to be made mobile friendly.Would be nice to get proper attribution, once this patch gets committed.
Comment #12
traviscarden commentedThanks, @valderama. I'll look at this as soon as I'm able. We'll find a way to properly distribute commit attribution in the end. :)
Comment #13
anavarreFYI https://drupal.org/project/drupalmoduleupgrader should soon start to become usable and could help with the port to D8.
Comment #14
traviscarden commentedI had just a few minutes over the weekend to apply the patch in #10 for a quick test, and it didn't work for me. It didn't create a menu item, and it caused a route subscriber fatal error. Also, could we run Coder Sniffer on patches before submitting them? That will ensure that they're clean and free from obvious errors, which will make it easier to review and move them forward.
Comment #15
valderama commentedThe module works fine for me using Drupal 8 dev. Which core version are you using?
The only visible menu item is admin/reports/checklistapi which is defined in checklistapi_menu_link_defaults(). Is this the menu item you are referring to?
I fixed the formatting errors that phpcs gave me and attached a new patch.
Comment #17
valderama commentedSorry, the patch #15 was a bit erroneous. It contained old files also due to recent changes in core it did not work correctly.
Just recently the good old theme() function was declared private by renaming it to _theme(). To make this patch work for now I still use the theme function. However these parts should be rebuilt to make use of render arrays instead of calling _theme().
So, here is a new patch.
Comment #19
traviscarden commentedThanks, @valderama. This is shaping up nicely. There are still a few bugs and a fair amount of cleanup needed, but I'm working my way through it.
Comment #20
traviscarden commentedAll right; lot's of progress! At least the following issues remain after the attached patch:
_theme()invocations need to be reimplemented according to the new method.We're getting there! Everyone's continued help is much appreciated.
@valderama, since you've done the lion's share of the creative work on this, my intention right now is to attribute the commit to you when it goes in.Edit: Since I ended up doing the greater part of the work on this one I went ahead and committed the code normally and credited contributions in the commit message like they do in core. I'll gladly attribute smaller follow-up contributions that don't require so much shepherding, like unit tests or bug fixes.Comment #21
blesss commentedI continued the work on the port. And solved issues:
The _theme() invocations need to be reimplemented according to the new method.The "Clear saved progress" link on checklist form is butted right up against "Save" button.Comment #22
traviscarden commentedThanks, @blesss. I'm taking a little different approach on those two issues. Here's an updated patch with those and a few other fixes. Interdiff from my last patch. I'm movign the to-do list to the issue summary.
Comment #23
ben finklea commentedI love seeing the progress! Makes me wish I knew how to code...
Comment #24
mgiffordIt's never to late to learn.... :)
EDIT: Also useful to leverage SimplyTest.me to evaluate this patch quickly in context. No coding knowledge required.
Comment #25
traviscarden commentedHere's a new patch that fixes a few issues:
Comment #26
traviscarden commentedRe @mgifford: Good point! You don't have to be a programmer to test the current progress and give valuable feedback! Here's a Simplytest.me link for the current patch, @Ben Finklea. Just follow this to spin up a current Drupal 8 installation in the cloud. It will guide you through installation and logging in. Go to the "Extend" page to install the Checklist API and Checklist API example modules, and then you can go to Reports > Checklists and try it out!
Comment #27
ben finklea commentedWow. OK. I stand corrected. I can help.
Kudos, Travis, I've never seen such a succinct description of how to test something in Drupal. This was really easy and makes me wonder why this isn't more obvious and made easier for people like me who are very involved in Drupal but are not able (willing/have the time) to php stuff. You're probably going to point me to some deep arcane location on D.o that explains all this in detail that is linked to from the home page or something...
Here's my report:
Comment #28
traviscarden commentedHa! No, this one isn't as obvious as it should be. Install the Dreditor extension in your web browse of choice, and it will add (among other things) a Simplytest.me button to every patch on Drupal.org like the link I gave you above. It would be nice if the functionality was on Drupal.org by default, but for now it belongs to the deep magic of a select few Drupal alchemists... into whose society you've just been inducted. ;-)
Comment #29
anavarreJust tried the patch and it works nicely here as well. Only thing I was expecting to see is a real-time progress bar as I was checking more skills with the Example checklist.
Isn't there something wrong with the paths? I see the main Checklist API page at admin/reports/checklistapi but when you click on the Checklist API example link it brings you to admin/config/development/checklistapi-example - Wouldn't that be admin/reports/checklistapi/checklistapi-example instead?
Comment #30
traviscarden commentedThanks for the feedback @anavarre. I'll add real-time updating of the progress bar to the to-do list. Paths are arbitary. Implementing modules can make them whatever they want.
Here's a new patch.
run-tests.shscript to facilitate running them.I upgraded the old Simpletest tests, but Drupal isn't finding them at the moment. If anyone knows why, I'd sure appreciate that info.Update: Drupal is finding them now--they're just failing. :PThe list of remaining tasks has been updated in the issue summary. For anyone that wants to contribute, I would appreciate any progress against that list or code review of the patch so far. Thanks!
Comment #31
traviscarden commentedComment #32
traviscarden commentedMore progress:
Comment #33
traviscarden commentedAll right! This one should bring us to functional completion.
ChecklistapiController::setCompactMode()to redirect to the checklist using its route name. (The "fix" was a little kludgy. If anyone knows a better way, I'd love to know about it!)config(). inchecklistapi_compact_mode().I would love it if anybody can give the patch a general review. Then I'm ready to commit this and cut a dev release!
I realized that the testbot isn't going to turn this patch green until the 8.x-1.x branch is passing tests--which it won't be until this patch gets committed. Chicken and egg. Oh well. :)
Comment #37
traviscarden commentedFixed! Functionality is complete. Automated tests pass. There's a dev release on the project page. Thanks, everyone, for all your help!