Steps is a Drupal 6.x module. Steps allows you to group any type of node in any combination in any order into a series of (you guessed it) steps. Steps will assign the combination of user, steps node, and 'step visit' a unique id.

A step visit is the poorly thought up term, but it basically translates to a user who starts a step will have a steps instance bound to him. If the user decides to come back to the steps the next day he will be redirected to the step he was at when he left.

There are previous/next buttons of course, so the user can always change location in the series.

Similarities

It is most similar to series (http://drupal.org/project/series). Series is based on taxonomy terms and has different thoughts on execution and how it sessions are to be handled.

Project Details

Developed for: Drupal 6.x
Project Page: http://drupal.org/sandbox/sebasvdkamp/1288552
git: git clone --branch 6.x-1.x http://git.drupal.org/sandbox/sebasvdkamp/1288552.git steps

Comments

sebasvdkamp’s picture

Issue summary: View changes

Project Details

sebasvdkamp’s picture

Issue summary: View changes

Readability

sreynen’s picture

Status: Needs review » Needs work

I added a few issues to the project issue queue.

sebasvdkamp’s picture

Status: Needs work » Needs review

Thanks! I've fixed the issues you've added.

I also improved the install file and fixed a pagination problem I noticed because of issue #1299752.

sreynen’s picture

Status: Needs review » Needs work

I downloaded the module again, and I'm still seeing the same whitescreen problem.

Steps (no pun intended) to reproduce:

1) Enable module.
2) Go to node/add
3) Click through to node/add/steps
4) Find I can't add any steps
5) Go to edit node reference field to add allowed types to node reference field
6) Steps doesn't show up in content type list
7) Go directly to admin/content/node-type/steps/fields
8) Add allowed types
9) Back to node/add/steps
10) Can add steps now
11) Save node
12) Whitescreen

Looking at the code, I also noticed an unrelated issue:

$placeholders = implode('),(', array_fill(0, count($steps) / 3, "%d, %d, %d"));

This should probably use db_placeholders.

sebasvdkamp’s picture

Status: Needs work » Needs review

I can't reproduce the problem, this leads me to believe its a result of old data (I did an uninstall on my local system).

  • The install file is modified to update the cck field.
  • There might also be an issue in the database but I don't know which version you have and from where updates should be applied.

The white screen problem should disappear along with a complete reinstall. Best I can do is promise to make use of the update hooks from here on in to prevent this from happening again in the future.

The db_placeholders won't do what I need it to and would cause overhead. I implode the parentheses along in one go for the INSERT.

greggles’s picture

It installed fine for me just now - I think there were some tweaks, maybe?

regarding db_placeholders, it's not much overhead...basically the same code as what you've got really. It would be good to add a comment into the code about why you don't use db_placeholders. As it is this query will trigger alters in coder or other security analysis tools and a comment can help people know that you purposefully skipped db_placeholders and that you feel the code is safe.

sreynen’s picture

Status: Needs review » Needs work

I started with a fresh Drupal install, brand new database, no modules enabled other than what Steps required. I created two pages, then created a steps node with those pages as the steps. When I saved, I was redirected to steps/3, where I saw an error:

Page not found
User warning: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause query: SELECT sr.steps_nid, sr.delta as step, MAX(s.delta) as steps_total FROM steps_reference as sr, steps s WHERE sr.uuid = 'b4df92c3248864788fc68c5f7aa744c6' AND sr.steps_nid = s.steps_nid in _db_query()
Uuid/user combination not found.
The requested page could not be found.

This page is also duplicated, meaning the full HTML is output twice.

At node/3, I can see the first step, but clicking "Next" gives me the same error page, without the duplication.

I don't know why greggles isn't having these same problems, but I think I've ruled out anything custom on my setup, so I'm moving this back to needs work.

greggles’s picture

You didn't list those same steps in your earlier comment ;)

Based on looking at the code I imagine that yes, it will require at least 3 steps to work properly. That does seem like a bug - not sure it's a blocker of getting approved.

sreynen’s picture

Status: Needs work » Needs review

I'm not sure I went through a full uninstall in #3, so I wouldn't worry about that. I added a third page to my steps, but I'm seeing the same thing. I can't think of anything that would be specific to my install after installing Drupal fresh, but if it's working for others, it must not be a general problem. I'll move this back to needs review so someone else can test and possibly approve it.

sebasvdkamp’s picture

After a bit of looking I found out what the problem was. You are running with sql mode ONLY_FULL_GROUP_BY, it isn't used often and on my setup it appears to (for example) also be incompatible with views. I have made Steps compatible with this SQL setting though.

I have also fixed the duplicate page error and added support for teaser display.

There is support for a minimum of two Steps.

sreynen’s picture

Status: Needs review » Reviewed & tested by the community

Yep, works fine for me now. I'm moving this to RTBC and someone will give it once last glance soon before moving it to fixed.

Minor issue I just noticed that definitely doesn't need to hold up approval: you can remove the // $Id$ comments, even though I think Coder still tells you to add them. Those were needed for CVS, but not Git.

greggles’s picture

Status: Reviewed & tested by the community » Fixed

Thanks for your contribution, sebasvdkamp! Welcome to the community of project contributors on drupal.org.

I've granted you the git vetted user role which will let you promote this to a full project and also create new projects as either sandbox or "full" projects depending on which you feel is best.

Thanks, also, for your patience with the review process. Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.

As you continue to work on your module, keep in minde: Commit messages - providing history and credit and Release naming conventions.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Anonymous’s picture

Issue summary: View changes

master > 6.x-1.x