Hi there... this sounds like a great idea. We're developing an online application form that would really benefit from this. However the part in your description that worries me is:
At present only the first node of the content type in the system is checked for completion. Only use for content types that have one node in the system.
Which if I understand correctly means that if we are allowing users to create applications (plural) then this would not be suitable? I actually don't see any time when you would only have ONE of a content type on a site?
Is there any plans to make this usable on all node edit forms of a specific content type in the near future?
Thanks!
Comments
Comment #1
pvhee commentedThe description on the project page is indeed a bit unlucky, but here are some cases for which you could use content complete:
- you have your users implemented with nodes (using content profile), and wish to show the users completeness. There is more than 1 instance of this node (in fact, one node instance per user), but the user can only edit his or her own profile node.
- you have a settings content type with one node instance holding the settings. This is the first reason why this module was developed.
What it does NOT work for at the moment is:
- you have 5 node instances of a type "article" and you wish to check completeness for all of those five. Now, it would only take the first article and check for completeness. Of course, you would like to have it check all 5 and do averaging or something of the completeness results.
As this is quite fuzzy at the moment we decided to wait for the community to come up with some ideas, discuss them, and see what could be implemented. So I am eager to listen to your suggestions!
Comment #2
adshill commentedThanks for the explanation... My use would be that I'm working on an application form (I do similar things quite regularly) for funding for non-profit organisations. I am going to use either a tabbed or multistep node edit, which can also be saved for later using the draft module. Sections for example would be "Contact Information", "Partner Details" "Project Activities", "Financial" etc. etc... but they would all be in one content type. As people will fill the form over time (and save the draft) to have an indication block of how much of the form has been filled, would be great!
I'm using nodes over webforms because if the application is accepted, we would then use this node to publish information about the project on the public website and in the future possibly add further functionality (for example the node would be converted to an OG group and used to report on the project and publish blogs/photos etc.). As users (generally representing an organisation) could have multiple applications (both at different funding rounds and the fact that funding becomes available twice per year) then it sounds like this module in its current form wouldn't work for me. Do you think future developments could see it work in this way?
Sorry I'm doing this blind - I should just install the module, but at the moment it doesn't sound like it will do what I need. What do you think? :)
Thanks a lot!
Adam
Comment #3
pvhee commentedThe module computes the completeness percentage for all the nodes of a certain type the user has edit rights for. So if you would have different node instances but only edit rights on your own node instance (containing contact, partner etc.) you could go and use this module! It would only be an issue if one user could be associated with more than one instance of the node type.
Comment #4
Johnnyk commentedAs I first saw your Module i thought "Why didn't I come up with this idea?"
I Really like what you made with this module! Good work!
What I would like to see would be an option for using the current node to calculate the completeness of the node. I really like, that you already have taken care of permission for content editing.
One could hook in to node loading and maybe calculate on the fly? Maybe store in already existing table for later usage or statistics?
In my situation - i finished the first node and the blocks disappears b/c the node ist complete. Others are not.
Comment #5
pvhee commentedThere is no way to know which node you are calculating completeness for, unless you hook into the node forms and provide this as an extra option. So far it works only at the node-type level, but it is a nice suggestion to let it also work at the node-instance level.
Content Complete works well with content_profile, and it calculates for every profile node instance a different completeness, so you already have the functionality here.
I will make an official release soon and will consider putting this functionality into the next release. Thanks!
Comment #6
pvhee commentedChanging the title to reflect better the feature request
Comment #7
AmrMostafa commentedsubscribe. interesting idea, and being able to do it per-node is critical.
Comment #8
macrodesign commented-subscribe- looking forward for to see it working across all nodes of a content type. we are making an interactive directory that will be completed by users. i.e. we put in initial fields and users edit them to complete them and acquire ownership lateron; only two types of content.
Comment #9
sphopkins commentedI am going to follow this thread and hope for the best. I can see it very useful in my setting if it can calculate the completeness of each node, similar to what others are mentioning above.
My situation is that we are using Drupal as a content display system for some health care data. Basically each node is a patient, so all of the nodes represent different patients. Each patient's data can then be evaluated for completeness - how many blank fields are there, and what are the fields than need to be completed to "fix" the profile.
Hope I can help in evaluating anything.
Comment #10
pvhee commentedThis is still a pending feature, here are some options:
I will study the possibilities, but I don't think that (1) is a real option as it won't work in all cases. For (2), I will consider a merge with the more generic Complete module.
Comment #11
mcload commentedSubscribing
Comment #12
hunvreus commentedHi guys,
We needed this so I took a bit on my time to start coding it. I post here a patch that is a rewrite of a good part of the module, including the db. I haven't yet included an upgrade path so be careful. I also added some (temporary) views support. I have a performance issue with it, I will need to benchmark this tomorrow to see what I did wrong.
Two things that I would like to discuss with the maintainer (Peter you around?):
- I now store the fields settings in the variables table (variable_get / variable_set) and use the table for storing a cache of the completeness. It's mainly for the views feature, as processing the completeness on the fly would be very costly in a view. Things are still a bit sketchy (the cache is updated through cron and edit/create of individual nodes but we need more options, including clearing the cache) but overall it works.
- I reorganized many of the functions and haven't tested for what I guess was the original goal of the module: content profile. I especially would like to understand why the module was designed to grab the last node of the whole content type to compute the completeness.
I probably broke some of the things (rules support?...) but am eager to help this fixed.
I'd be happy to discuss this on Skype or IRC to get this properly done.
Cheers,
Comment #13
pvhee commentedThanks Ronan for this patch!
Just a quick clarification: some weeks ago we got the private request to work on this specific issue. We finished the implementation and have this now committed to HEAD (it was finished more than a week ago, but we had to finalize some administration issues). The latest version adds completion per-node using the method described in the comment: http://drupal.org/node/371479#comment-1756412
Could you see if you could patch this version instead? I particularly like the views integration and I would definitely be willing to work it out together with you in order to make a better module!
Comment #14
hunvreus commentedAlright, I'll have a look at the head and will try to merge with my changes.
Could you confirm my approach on the db; in my version I put settings for completeness fields in the content types page (admin/content/types) and used the content_complete table for cache storage instead.
I'll let you know.
PS: could you PM me your skype/IRC nick ?
Comment #15
pvhee commentedI still have to take a better look at the code to understand exactly what you mean. It's valid to use the content_complete table for caching, but I don't understand how and where you store the fields that need to be tagged for completion (variables table?).
The cached values can be updated on node operations (add,edit,delete), why are you using cron for this? The update process of the content complete should happen instantaneously.
I've moved the discussion regarding caching to this new issue: #536406: Cache Content Complete values, so I can set this one as fixed. Thanks for joining in the development!