Module

Developer
Supported

EE 1
EE 2
ProForm Drag and Drop Form Builder

Back to this add-on's main page
View Other Add-ons From Isaac Raway

     

You must be logged in to post.

Does ProForm allow for Editing/Updating of submitted entries?

General

Will Hartwell
Will Hartwell

Hello,

I am looking into purchasing ProForm for a client project.  The client is looking for something that will allow their admins to login (to the EE CP or otherwise), view all form entries, assign entries to recipients, and, upon assigning entries, automatically email recipients letting them know that the entries have been assigned to them.

In order to do this, I think I would need the ability to edit/update existing form entries via a template tag (like one of the form tags).  Is this possible in ProForm? 

Thanks in advance for your help!

Will

MetaSushi
# 1
Developer
MetaSushi

I am planning to add this type of functionality directly to the CP backend some time within the next week or so.

I haven’t really considered the ability to edit entries on the front-end, but this does seem like a good idea. Would your project be able to use a purely CP based approach? If so, I think the functionality I’m working on would meet your needs.

In this update I’m currently planning to add this functionality to the CP module UI:

* Entry editing
* Custom entry statuses (Open, Closed, In Progress, etc.)
* Entry assignment

Will Hartwell
# 2
Will Hartwell

Thanks - that sounds great!  I ended up doing some custom tweaks to a different addon (Solspace’s FreeForm), but I’m very interested in seeing what you do with ProForm. 

Backend functionality is probably all I need; I just like the idea of being able to customize the look of it.

Thanks for the quick response!

Will

Indaba Group
# 3
Indaba Group

+1 on frontend form editing.  :)

MetaSushi
# 4
Developer
MetaSushi

Normally I don’t like showing things off before they are done, but I think this is really cool so I wanted to post an update. Here’s a quick preview on how the entries listing will work with this feature enabled. See the screenshot for what it looks like right now.

Clicking the Assign link next to each entry will lead to a new page where you can select a member to assign the entry to. The strip of filters at the top allow viewing only your assigned entries, everyone’s entries, or unassigned entries, as well as filtering by open or closed entries. The statuses will also be fully configurable in the module’s settings.

This should allow creation of a simple ticket system very easily.

I’ve been creating a new “plugin” system for ProForm, and I am creating this as a plugin for that system so that it can be applied easily to sites that need it, but it won’t encumber those that do not. Plugins are a bit easier to write and integrate than a typical extension would be, so I like this approach. Everything you need for the feature all in one drop-in PHP file.

Image Attachments
proform-workflow-plugin.png
Indaba Group
# 5
Indaba Group

very interesting…the gears have begun turning.

However, this doesn’t address frontend editing does it?  Essentially what I’m looking to do is allow users to submit a test, then after studying for x minutes, they’re able to re-submit the test by editing the same form.

MetaSushi
# 6
Developer
MetaSushi

Correct, currently I’m only looking at backend editing. Front end editing is definitely possible, but would require a bit more reworking.

You could simulate something like this by loading the existing form entry using the entries tag, and using those values to prefill a new form. It would, however, save as a new entry in the system. This might actually even be desirable since you may want to know the two versions of the entry that the user submitted?

Indaba Group
# 7
Indaba Group

Um, brilliant!  I’m thinking a hidden field with an incrementing version number, a quick extension using one of your hooks to update the prior form’s status.  I believe I read that all the forms had their own tables which would help alleviate any massively growing version issues.

Now that I’m thinking about it, couldn’t an update be done by simply writing an extension using your ‘proform_insert_start’ hook?

MetaSushi
# 8
Developer
MetaSushi
Indaba Group - 01 May 2012 05:01 PM

Now that I’m thinking about it, couldn’t an update be done by simply writing an extension using your ‘proform_insert_start’ hook?

Actually… yeah I think that might work actually. The new plugin system would make it a bit easier (you wouldn’t need to turn on an extra extension just to get editing to work), and I might be able to do something simple right in the core as well. Let me think about it for a bit and see if I can come up with a way to do it.

MetaSushi
# 9
Developer
MetaSushi

Made good progress on the workflow components of this. I’ll be looking at the entry editing (CP first, also public side if I can get to it) over the next few days.

Indaba Group
# 10
Indaba Group

Awesome!  I’ve had a chance to play with the module over he weekend, and I may have a better idea of my particular fronted editing needs.

I’m not positive how data in different steps are getting passed through, but i realized a few section of my form require the user to do some research which could take time to do.  I’m assuming not, but how hard would it be to save the steps so a user could come pack and pick up where they left off.

MetaSushi
# 11
Developer
MetaSushi

Well, currently step data is stored in a semi-temporary format. If the user loses their session, the data for that form will no longer be accessible and will eventually get erased. There isn’t really a way to restore the form once their session has expired. I guess I wouldn’t recommend depending on this, honestly.

Instead, I’d try something like this:

- Define a process that uses a number of separate forms - one form for each “step”. This makes sure that each step’s data is actually saved after it’s filled out.
- Then have some template code to check to see if the user has a form for each step of the process (using the entries tag), and if not allow them to link to the form for that step to fill it out.
-  Currently, since there isn’t editing in the public side, you’d need to use one of the suggested methods to get it to look like they are editing a step of the process that they already filled out, if this is actually needed.

I think this would work pretty well actually.

bfjare
# 12
bfjare

I am working on a project right now that needs front end management for the forms as well.  Excited about the plugin.  It looks great.

MetaSushi
# 13
Developer
MetaSushi

Please find a preview of the plugin attached. This requires the just uploaded 1.11 build of ProForm.

Currently this provides support for entry assignment as well as basic Open / Closed statuses. Items left to be implemented include:

* Notifications
* Custom statuses
* User group restriction
* Entry editing

I wanted to provide this preview since the new plugin system is now in place (for the entries list anyway), and I’d like to see what you guys think of the direction. Please let me know!

Installation
Unzip this folder into a new folder at this location in your install:

system/expressionengine/third_party/proform_plugins

When you first load an entries listing, you may received an error message about a field not existing. Simply refresh the listing and this error should go away.

Note / Disclaimer: This is a preview build and should not be used on a production site without careful review. Support for this plugin is currently minimal. The plugin may be released as a commercial plugin in the future (for a very nominal fee), but this preview is provided for free to any licensed users of ProForm for review purposes.

File Attachments
workflow-0.1.zip  (File Size: 6KB - Downloads: 10)