5.4 · Teamwork: GDS (source manager)

Level 5 · WebDev, WinDev Mobile & certification

5.4Teamwork: GDS (source manager)

Goal: Work as a team on a WinDev project with the GDS, avoiding overwrites and keeping a usable history.
Estimated time: 11 min · self-paced reading · If you only have 5 min: read “The essentials in 30s” + the diagram.

The essentials in 30 seconds

  • The GDS stores sources in a shared repository: each developer checks out an element to modify it, then checks it back in, with a full history.
  • The GDS is useful even solo: rollback, an extra backup and traceability of decisions, far beyond simple dated copies.
  • The team follows rules: check in often, comment, test, respect conventions and communicate before any change to the analysis.

Running mini-case — Yacine organizes his team's work with the GDS

Yacine develops the application for an electrical equipment trading SME in Oran. Samir works on the web portal and Nadia on the mobile application: all three share the same analysis and the same business procedures. Yacine puts the project under GDS and creates a common repository. Each person checks out the elements they are working on, tests them, then checks them back in with a precise comment. At noon, Samir and Yacine have modified the same discount calculation procedure: the GDS shows the history and allows a merge without overwriting the other's work. Before touching the Item file, Yacine warns the team, because an analysis change impacts everyone. He also backs up the repository, which has become the project's most valuable asset.

Standalone case for this section: it returns in the course, the diagram, the code and the 48h challenge of section 5.4.

1. The repository and the cycle

The GDS (Source Manager) is built into the WinDev workshop. Project elements are stored in a shared repository. Each developer checks out the elements they are working on, which takes them under their control, then checks them back in once modified and tested. This cycle prevents two people from overwriting each other's work. The GDS keeps the full history: who changed what, when, and with which comment. You can therefore understand an old decision or return to a previous version. This is far superior to folder copies named “project_final_OK”.

2. Useful even alone

The GDS is not reserved for teams. Even alone, Yacine gains a rollback after a mistake, a backup separate from his working folder and traceability of his decisions. He dares to experiment with a redesign or an optimization because he knows he can go back. Dated copies, on the other hand, say neither who did what nor why, and eventually become impossible to untangle. The GDS also imposes a useful discipline: check in in coherent steps and comment on what you have done.

3. Team rules

In a team, the tool is not enough: rules must be respected. Check in often (ideally every day) so you do not block colleagues. Comment usefully on each check-in: “fix to the key-account discount calculation” rather than “changes”. Test before checking in so you do not break the shared project. Define common naming and style conventions. And above all communicate before modifying the analysis, because the data model is shared and impacts everyone. Finally, back up the repository itself: it now concentrates the essentials of the project.

Common misinterpretation: “The GDS is only for teams, you just copy the folder before modifying, and the analysis can change without warning.” No, three mistakes. The GDS is useful even alone for history, rollback and traceability. Dated folder copies say neither who, nor what, nor why, and do not allow you to revert a single element. Finally, modifying the analysis without communicating impacts the whole team. Yacine checks in often, comments, tests and warns before touching the shared model.
The GDS cycle One repository, a clear cycle, a usable history. Repository SharedsourcesCheck out Element takenunder controlModify & test LocallyCheck in Comment +history
One repository, a clear cycle, a usable history.
Text version of the diagram (SEO / screen readers / translation): 1) Yacine, Samir and Nadia develop the management system, the web portal and the mobile app of an electrical equipment trading SME in Oran, on a shared analysis. 2) Yacine puts the project under GDS: each person checks out the elements to modify, tests them, then checks them back in with a precise comment; the history shows who changed what and allows merging or rollback. 3) Before any change to the analysis, Yacine warns the team and backs up the repository. Lesson: the GDS protects collective work provided you check in often, comment, test and communicate.

🔎 Concrete example — 🔎 Concrete example — A commented check-in

Yacine fixes the key-account discount and documents his change:

// Calcul de la remise accordée à un client
// GDS : réintégration commentée — seuil grands comptes corrigé
PROCEDURE CalculeRemiseClient(nCA est un réel) : réel
SI nCA >= 500000 ALORS
    RENVOYER 5
FIN
RENVOYER 0

Result: the history explains why the threshold exists, not just the diff.

Reflex: comment the check-in with the business reason and impact, not “changes”.

Section vocabulary

GDS
Source Manager built into WinDev: shared repository, checkout/check-in and history.

Simple example: Yacine puts the management project under GDS with Samir and Nadia.

What it is not: exchanging folders by USB stick with no history.

Reflex: GDS = versioned and shared sources.

Repository
Central store of project elements, separate from each developer's working folder.

Simple example: The repository contains the shared analysis and procedures.

What it is not: each person working on an isolated copy of the project.

Reflex: the repository is the asset to back up.

Checkout / check-in
Work cycle: take an element under control to modify it, then put it back into the repository.

Simple example: Nadia checks out the stock procedure, tests it and checks it back in.

What it is not: keeping an element checked out for weeks.

Reflex: check in often so you do not block others.

History
Record of who modified what and when, with comments and the ability to roll back.

Simple example: Yacine recovers yesterday's version after a mistake.

What it is not: relying on copies named projet_final_OK.

Reflex: the history explains and repairs.

Branch
Parallel line of development allowing an evolution to be isolated before it is merged.

Simple example: Yacine prepares a stock redesign in a dedicated branch.

What it is not: developing a risky redesign directly on the shared line.

Reflex: a branch isolates, then merges.

In practice — In practice — Working with the GDS

  1. Put the project under GDS and create the repository, even if you work alone, for history and rollback.
  2. Adopt the cycle: check out the element to modify, work, test, then check in quickly while commenting on what was done and why.
  3. In a team, define common conventions (naming, style, organization) and communicate before any change to the analysis.
  4. Back up the repository itself: it has become the project's most valuable asset.
You have a full history, a possible rollback and organized teamwork, without mutual overwriting.

Step-by-step script — testing before checking in (10 min)

Yacine checks the critical discount cases before putting the procedure back into the repository.

A quick test of business cases avoids breaking the shared project; you then check in with a precise comment.

Copy-paste template — my check-in comment

// Réintégration GDS — Yacine — 12/03
// Élément : PROCEDURE CalculeRemiseClient
// Modification : seuil grands comptes porté à 500 000 DZD
// Tests : remise 5 % à 600 000, 0 % à 100 000 → OK
// Impact analyse : aucun
// Règle : réintégrer souvent, commenter, tester, prévenir

Solo work

Yacine uses the GDS alone to roll back after a risky redesign.

Web and mobile team

Samir and Nadia each check out their elements and check them in without overwriting the other.

Analysis change

Yacine warns the team before changing the Item file.

Trial branch

Yacine isolates a new version of stock in a branch before merging.

✓ Best practices

  • Check in often and release unused elements.
  • Comment and test each check-in.
  • Communicate before any change to the analysis.

✗ Common pitfalls

  • Keeping an element checked out for weeks.
  • Writing “changes” as a check-in comment.
  • Modifying the analysis without warning the team.

Key takeaways

  • The GDS stores sources in a shared repository, with checkout and check-in.
  • The history shows who, what and when, and allows rollback.
  • The GDS is useful even alone: rollback, backup, traceability.
  • In a team: check in often, comment, test, shared conventions and communication about the analysis.

48h challenge — apply it tomorrow

Like Yacine, put a project under GDS and complete a full cycle: check out a procedure, modify it, test it, then check it back in with a comment that explains the business reason and impact. Then cause a mistake and return to the previous version from the history. Back up the repository.

Section exit checklist
  • I can explain the role of the repository and the checkout/check-in cycle.
  • I know why the GDS is useful even solo.
  • I know the team rules: comment, test, communicate about the analysis.
Self-assessment 1-5: do I check in with a usable comment?Self-assessment 1-5: have I ever restored a version from the history?

Frequently asked questions

Is the GDS useful when developing alone?

Yes, clearly. Even without a team, it provides history and rollback after a mistake, an extra backup separate from the working folder and traceability of decisions. It also allows you to experiment with peace of mind: you dare to redesign because you know you can go back. Dated folder copies say neither who, nor what, nor why, and you forget to make them at critical moments. For Yacine, the GDS is therefore useful even before Samir and Nadia arrive.

What rules should be adopted to work as a team on a WinDev project?

Simple but respected rules: check in often, ideally every day or at each coherent step; check out only what you need; comment usefully on each check-in; test before putting an element back into the repository; regularly retrieve other people's changes. On the code side, define common naming and style conventions, and avoid putting business logic in buttons. On the communication side, warn before any change to the analysis, because it impacts the whole team. Finally, back up the repository itself.

Check your understanding

What is the GDS for even when Yacine develops alone?

Additional resources (optional, to go further)

Level 5 examFresh, harder questions to test what you've learned