Formulize is not project management, but it is close

Hi Gurus,

I am xoops2 user. I am interested in Formulize because I am looking for a "project tracking" tool. I walked through the video of Formulize v.4, and thought Formulize is just one step away. Formulize is not project management tool, but it is close to real-world need.

Can you add an element called stage whose options are, for example, opportunity, design in, design win, mass production, design loss, design cancel? The intial stage is always opportunity.

Two things are crucial.

(1) The progress of stage is one-way only. In other word, if the stage moves on to design in, it cannot be set back to opportunity. The logical progress is opportunity -> design in -> design win -> mass production, but in the mid-way, the stage can move on to either design loss or design cancel

(2) The date when the stage is changed must be recorded in its associated element, namely opportunity date, design in date, etc.

Perhaps your "project managemnt (PM)" product suites me better. But it is based on Drupal.

Best wishes,

Felix Chen


Yes, custom elements are quite possible


Except for the requirement to not be able to move something backwards through the list, you could simply make a dropdown list or radio button series.

If people are only ever moving one step at a time through the process, you could use a custom button in the list of entries. You could make a custom button called "Advance the stage" or something like that. You would also need to have a radio button series or dropdown element that had the various options you wanted. But you would make the element disabled for all users.

Then, when the button is clicked, the custom button would alter the value of the element, and would check the current value to know what the next value should be. You can make custom buttons in the admin UI for the lists of entries screens. A little PHP code would be necessary to check the current value and know what the next step would be. So that way you would advance entries by using the button, rather than editing them.

The button can have multiple effects, so you could have it set the date in the other element at the same time, which would be quite useful.

Alternatively, you could make an entirely custom form element. There is a file called modules/formulize/class/dummyElement-example.php that shows some code for how you make a custom element. If you do that, then you have total control over every aspect of how the element behaves. But it requires more knowledge of PHP.

I can elaborate on either of these options, or perhaps there is yet another way to use other features that might fit your needs.

I would say that for lightweight project management and workflow tracking, Formulize is a great choice over a more heavyweight project management tool, since Formulize can be tailored to your needs, and it doesn't require much/any programming to setup. A bigger PM system will have its own way of doing stuff that might or might not always match your needs.


How to record the time when an element is changed?

Hi Julian,

I agree that elements are customizable. The more one knows about PHP syntax, the more flexibility he can make. However, I am not PHP programmer.

For example, as I said, when one of the allowed options (one-way advance) in an element is set, what is the PHP code to record the time-of-set in another elelemt? I mean, the time-of-set is generated by system automatically and users, except for administrator, cannot alter it.


Felix Chen

I can work up the exact recipe for you

Hi Felix, thanks for writing back. Sorry for the delay, over the holidays we weren't following the forums.

I can work up a detailed step-by-step for the custom button approach that I described. But it would be helpful to know exactly what the options are for the form element you're thinking of.

Also, it is important to understand, that that approach would give you a button on each row in the list of entries, and people would advance an entry from one stage to the next by clicking the button, rather than by editing the entry directly. I'm not sure if that would meet your needs? Perhaps you imagine people actually clicking on an entry and editing it, in order to move the stage?

Doing it from the list might be simpler, in the sense that you can advance an entry without editing it directly. Let me know if that sounds OK to you.


A list of buttons inside an element will do

Hi Julian,

>a button on each row in the list of entries...and people would advance an entry from one stage to the next by clicking the button

That looks close. But it is not a button on each row, but a list of button (or a pull-down menu) IN AN ELEMENT. After the change of the element, there is no new entry to be created.

We can define a type of element that consists of one-way advance buttons (or pull-down menu). So far, there is no such an element type in formulize. The number and name of the buttons (or pull-down menu) can be edited when we defin a form, such as "opportunity", "active", "design in", "design win", "cancel", "loss".

And to TRACK the change of that element, there needs to be one READ-ONLY element associated to EVERY BUTTON. For example, new elements called "opportunity date", "active date", "design-in date" will be created when user defines buttons (or pull-down menu)called "Opportunty", "active", "design-in" in the element. When the selected button (or menu) is changed to "design-in", the element called "design-in date" is logged with the date when the button is selected.

So far, such "automatic" elements are not supported in formulize. These features are very standard and common in all kind of tracking system. If we allow users to edit the "date of change" or allow user to backward the stage. we will lose track or will be trated.

Look forward to this features in future Formulize release.



is good

so nice

Great to see Julian

Great to see Julian responding.

Thank you.