Ad hoc Workflows

Ad hoc Workflows

  

Hi All,

I  have a requirement where we have to build an interface where the business users should be able to define the workflow and assign to some entity for the processing.

Any thing related to this requirement will be appreciated.

Hi Muhammed,

What do you mean by "define the workflow"? I think it pretty much is the key to any solution. Are there a few standard workflows that the user can chose between? Or must the user be able to define any dynamic workflow? And if so, what does this "workflow" entail? And so and so forth. It seems you are asking a development question, but it is imho rather a functional one.

Hi Muhammad,

BPT is an option, but I would say that with the information you passed is not possible to really help you.
Could you extend your explanation to be more clear?

What do you mean by "workflow"? What the users are defining? How this "workflow" is executed by the users assigned to it? What type of information and information flow control are you expecting to have?

Cheers.

EDIT: Kilian was faster ;)

Thank you all for responding:


Requirement is :

There should be a UI for Business Users to create dynamic forms.

There shoul dbe UI for  busines users to define the business rules

There should be UI for  business users to create define activities,define workflows in the application and can associate the forms with the manual activity to capture data. like we as developer  can do with the Process.


Hello Muhammad,

Welll... What a hell of "a requirement"...

I know of a project being done by a company to a client to do only the first two parts and between a few people they took more than 6 months to have something really "usable"...
And they aren't trying to implement dynamic BPT (that would be a nightmare, probably...)

Unfortunately, this type of question can't really be answered here.
You are looking how to do a whole application. A highly complex one, as a matter of fact.

A forum is a place to ask questions much "smaller" and much more "specific", like "How can I click a button in screen from a Screen Action".

So, the advice I think we can give you is to you to get your team together and think of a solution for your application. If you don't know how to do it in OutSystems, or if you don't have even an idea of what you must do (and how long will take to do it), you should reconsider doing it in OutSystems or, more probably, doing it at all.

In any case, I wish you success in this challenge.

Cheers,
Eduardo Jauch

Eduardo Jauch wrote:

Hello Muhammad,

Welll... What a hell of "a requirement"...

I know of a project being done by a company to a client to do only the first two parts and between a few people they took more than 6 months to have something really "usable"...
And they aren't trying to implement dynamic BPT (that would be a nightmare, probably...)

Unfortunately, this type of question can't really be answered here.
You are looking how to do a whole application. A highly complex one, as a matter of fact.

A forum is a place to ask questions much "smaller" and much more "specific", like "How can I click a button in screen from a Screen Action".

So, the advice I think we can give you is to you to get your team together and think of a solution for your application. If you don't know how to do it in OutSystems, or if you don't have even an idea of what you must do (and how long will take to do it), you should reconsider doing it in OutSystems or, more probably, doing it at all.

In any case, I wish you success in this challenge.

Cheers,
Eduardo Jauch

Thank you Eduardo Jauch for detailed reply.I came from custom application development background where we were been able to develop such application using WFF services of Microsoft

I thought may be as outsystems is a BPM tool so may be we can use the out of the box components provided for process designing  into the application.

You are right it is not  as simple to implement such requirement.It is kind of building a tool/Framework with extendable functionalities  for future use.





Hi,

Technically, It is possible to do your requirements in any language, with more or less work, including in OutSystems.

Let the user create forms on the fly is not simple task, but it is doable, and I saw it before, in OutSystems.

But in OutSystems, the tool we have to modelling business, called BPT (business process technology), while you can make it dynamic, possibly, accessing directly the metadata model and BPT related, is highly not recommended.

BPT is highly asynchronous. Program BPT is not an easy task by itself. Let users do this by themselves, unless in a very restrictive way, inside a very constrained system, is to create a problem, instead of a solution.

In the end, what you are looking for is a way to create a new Service Studio, for the BPT.

I'm curious. What is the client needs to do that requires a framework to model BP?

Cheers

Hello Muhammad. Just hopping into the discussion.

Everything that you have described is already shipped with OutSystems - it's called Service Studio. In Service Studio, you can create forms, processes, and program business logic. If you really want to give this kind of flexibility to your users, then I would at least try promoting them into developers themselves, maybe with some lower privileges so that they don't damage core parts of your applications.

If you built a framework for doing those same tasks, you would end up with a highly specific app that only did that thing. Your users would need intense training to be able to use it. You would probably struggle with performance, debugging, auditing. And working on that framework would not be a transferable skill. If you can sell Service Studio, those issues become much more manageable.


Having said that, I do want to share experiences I had in the past with such "meta-software" projects. I think they can arise on one (or both) of the following circustances:

  1. Client does not understand or doesn't know how to specify what is going to be built. So, instead, the client demands a highly generic software that can build anything.
  2. Client does not trust that the delivery team is capable of delivering fast paced changes. So, instead, the client demands a highly generic software that the users themselves can deliver the changes in business rules in short timespans.

There is a third possibility, which means that the business users really need a Domain-Specific Language, but I don't see that happening in enterprise software industry.

I really think you should see whether those criteria apply to your project. If criteria 1 does apply, then it's too early to build software. You must work with the business to write down specific requirements. If criteria 2 applies, then you need to sell OutSystems as a fast-delivery solution, and grant back the developers the ownership of the changes in software.

Hi Muhammad,

Ok, let me weigh in as well :).

First, the "requirement" is not a requirement, it's more like a project statement or epic description, and a very vague one at that. No software can be build that will satisfy the customer with such a "requirement".

Secondly, the OutSystems Platform is a low code platform that's strong in delivering software fast by a small team of developers, i.e. in an Agile way. What your "requirements" seem to suggest is that your client wants is one-time a generic tool for their business users, instead of customized software. The Platform is not very well suited for that, e.g. dynamic forms, though there are some Forge components to that extent (e.g. here and here, hat tip Daniel Martins), are really not a thing you'd want to do with it, it's just not where the Platform shines.

Thirdly, generic business process tools are readily available as 3rd party solutions, and I see no need for creating a new one. There's stuff like Dynamics 365, Salesforce, ProcessRunner etc. that seem far more suited to the "requirements" than the OutSystems Platform is.

Hi Thank you Eduardo Jauch, leonardo.fernandes, Kilian Hekhuis for sharing the possible solutions  and  the key challenges that we can face with this requirement.

I also like the idea "instead of Business  user to define the process it is more  better to perform this activity by the OutSystems developer" by creating process flow.

I was also referring to the Dynamic Form and Survey apps as a base to implement the dynamic forms but in my case the forms will be combined to create wizard for one application and these forms  will be versioned.

There will be different views for different users roles for the forms.

e.g. the forms will be wizard for end users.For the underwriters the forms will be like a collapsible single form etc. which I think will not be a big challenge with my experience of OutSystems.