Skip to main content

Uniface 10 Projects

Author: hans.hoogerwerf@omnext.net (Hans.Hoogerwerf)

Uniface 10 supports projects, which means you can define a project and add DSP's, entities, etc. However I wonder what is the sense of these projects? Normally a project is a standalone 'thing'. You can add, change, modify objects of this project without influence other projects. In Uniface 10, you cannot add a DSP with a name which is already used in another project (you get an error). If you modify a DSP in a project, which is also used in other projects, then the modifications are also applied to the other projects. You cannot sea which projects are effected with these modifications. Projects can be a useful add-on to Uniface 10, however I think the objects of the projects have to be stand-alone.

Uniface 10 Projects

Author: hans.hoogerwerf@omnext.net (Hans.Hoogerwerf)

Uniface 10 supports projects, which means you can define a project and add DSP's, entities, etc. However I wonder what is the sense of these projects? Normally a project is a standalone 'thing'. You can add, change, modify objects of this project without influence other projects. In Uniface 10, you cannot add a DSP with a name which is already used in another project (you get an error). If you modify a DSP in a project, which is also used in other projects, then the modifications are also applied to the other projects. You cannot sea which projects are effected with these modifications. Projects can be a useful add-on to Uniface 10, however I think the objects of the projects have to be stand-alone.

The two observations made here are symptoms of the same underlying concepts:

  1. A project is not a hierarchy, but a user defined collection or grouping of development objects.
  2. A development object can be part of none, one or multiple projects
  3. All development objects visible in the IDE are part of the same repository and must have a unique name

The implementation of project support in the Uniface 10 Web Edition is very basic. We aim to achieve the following in this edition:

  • Make clear that projects are the starting point for creating new development objects (Components, Entities, Libraries, etc)
  • An easy way to group objects:
    • Starting point for navigating to/opening editors (admittedly, double click on a  project reference is not yet supported)
    • Determine the set of objects that needs to be compiled
    • Create a deployment archive
    • Determine the set of objects that needs to be exported
  • Additional functionality will be added in future editions, such as search scope, navigation

Apart from additional functionality we’ll also want to cater for the following:

  • Make visible what the impact is of renaming or deleting a project’s reference to an object: with or without renaming/deleting the referred object
  • Show when a project’s reference is unresolved, i.e. the object it’s pointing to does not exist
  • Make visible what the impact is of renaming or deleting an object: with or without renaming all project references that exist in the current repository
  • Make visible which projects an object is part of

Author: Henk van der Veer (henk.van.der.veer@uniface.com)