Process Mapping Logo

Process Mapping - Forums

Sharing 19 years of knowledge and experience

 
Metastorm BPM forums
Sign up Latest Topics
 
 
 


Reply
  Author   Comment  
powerplay

Avatar / Picture

Senior Member
Registered:
Posts: 77
Reply with quote  #1 
Hi Folks,

I would like to know the the approach of work and server architecture taken while doing full fledge development in metastorm.

For example for three resources:
If it is possible to connect to a single server where metastorm is installed using rdc.
In such case how will all the three resource work on the same solution.

Or Is it required to install metastorm in three different machines where the resources can work independently and then finally merge their work and deploy.

How would the resources deploy the solution for unit testing of their work as it might result in overwriteto the code deployed by another resource.


Reply is highly appreciated.


Thanks :)



__________________
Thanks
HB
0
Jerome

Avatar / Picture

Guru
Registered:
Posts: 5,507
Reply with quote  #2 
If you need to share development of solutions, you really must be using source control, and fully understand what changes are made to what files and when.

As a general guide, project files are updated when you add any component. If you do not have the project file checked out when adding components, in my experience the solution will become corrupted.

Do not try to use the Metastorm repository for source control.

If all using the same server (make sure all can be logged in at once if required), ensure they check files out to DIFFERENT directories. It is probably best to use 'My Documents' in these cases to avoid overwriting.

Make a habit of checking files in after every session. Do not be tempted to copy another developers editable files and continue with them. That way madness lies.

Use proper labeling for each body of work (however minor) in source control.

Document each and every change, what is changed in each component and how it related to changes made in other components. Our release Management solution will allow you to do that, but be sure you run it in Production or a separate system or it will get wiped out if UAT/DEV databases are overwritten.

If deploying to the same environment for testing, ask colleagues to check in latest files, and get these latest files before re-opening the solution and deploying. This is the most likely to cause headaches, and separate development environments may be better if this will happen a lot concurrently. Metastorm used to have a 'stand-alone' development license (designer & engine) and this was not much more than a designer license.

Consider breaking solutions into smaller solutions.

Get each developer to concentrate on their expertise, eg SQL, C#, form designer or process design. Then collaborate intelligently (as we teach in our developer & methodology training).

To be honest, this is much the same for all software development.

__________________
Post an example, and we will have a much better idea what the problem is. In about 90% of posts, the problem is one of communication. Examples bridge that gap.
0
powerplay

Avatar / Picture

Senior Member
Registered:
Posts: 77
Reply with quote  #3 
Thanks Jerome,

Is it possible to check-in and check-out process components directly from the designer  just like we can do in visual studio for individual files.

__________________
Thanks
HB
0
Jerome

Avatar / Picture

Guru
Registered:
Posts: 5,507
Reply with quote  #4 
Not that I am aware of, no.
__________________
Post an example, and we will have a much better idea what the problem is. In about 90% of posts, the problem is one of communication. Examples bridge that gap.
0
powerplay

Avatar / Picture

Senior Member
Registered:
Posts: 77
Reply with quote  #5 
Thanks again Jerome,

I know I am asking silly things here, but that will be great if you can help me with my understandings:

For two developers connecting to the same machine where metastorm is installed
1) Developer A will work on Soln_A
2) Developer B will work on Soln_B
3) Final solution..Soln_Final.. will be checked in into VSS with respective project files checked out depennding on the A & B.
4) If Developer A want's to deploy his part of work to test. He will open the "Soln_Final",  which is nothing but the latest from VSS. Merge his changes from Soln_A to Soln_Final.
Checks in Soln_Final back to VSS and also deploy the same Soln_Final for testing purpose.
5) In this case, Developer A need not want Developer B to check in his work.
6) Same thing is also valid if Developer B wants to deploy and test his part of work.

Kindly correct me in this.


Best Regards


__________________
Thanks
HB
0
Jerome

Avatar / Picture

Guru
Registered:
Posts: 5,507
Reply with quote  #6 
That is it, yes. If the components being worked on in A and B are dependent on eachother in any way, then they developers will need to collaborate more to ensure it all works.

In my experience, the final (full) solution for either developer may not compile/deploy, and then there need to be discussion.

Overall, it pays well to design the solution as a whole with this collaboration in mind. One very important design consideration is what to pass to code functions, for example. I am leaning more toward a very loose coupling between the function and process/form. The entire component is passed in (using the term 'Current'), and the function can read and write any variables, including any added BO's such as Local. The huge advantage is that I can change how the function works without touching the form/process at all.

We almost never have code in events any more, but have a function to manage that event. This is also much easier to manage as a whole, as well as allowing the 'developer' to work on the code and the 'process designer' to work on the process.

Flags are another problem area. If you change any parameters for a flag, every instance where the flag is raised (and sometimes even where it is used) needs to be replaced. This is managed far more effectively by calling Flags.<flag name>(<parameters>). In some cases we even use a separate funtion just to call the flag and pass in the process object, but only if it is called from only one process.

__________________
Post an example, and we will have a much better idea what the problem is. In about 90% of posts, the problem is one of communication. Examples bridge that gap.
0
powerplay

Avatar / Picture

Senior Member
Registered:
Posts: 77
Reply with quote  #7 

Thanks Jerome for the comments provided..


__________________
Thanks
HB
0
Previous Topic | Next Topic
Print
Reply

Quick Navigation:


Create your own forum with Website Toolbox!