APPX Source Code Control System
This page describes the Source Code Control System feature of APPX Application Design.
The Source Code Control System in APPX 5.0.1 has a variety of issues which prevent it from being used successfully. The status of the Source Code Control System has therefore been changed from "Released" to "Experimental". You should not attempt to use this feature until the issues have been resolved and the status is changed to Released.
Concepts
Suites / Versions / Applications
Within the source code control system, applications can be grouped by version and by suite. For example, you might define a suite for the APPXBANG Business Applications. Within that suite, you might define three versions; a production version (00), a test version (01), and a development version (02). Each version would include the 12 applications that make up the APPXBANG Business Application suite. In this example, there would be 36 separate applications defined in the APPX Application file. An application must be defined in the APPX Application file before it can be included in a source code control system suite and version.
Projects / Jobs / Tasks
Within the source code control system, development tasks are created and managed and are grouped by job and by project. Projects can be created for a Suite, a Suite/Version, or a Suite/Version/Application.
Scope
Scope is usually used to define the boundaries for a Project, Job, or Task. In other words, you can use scope to define which design objects are allowed to be viewed, edited, deleted, etc. when a designer is working on a specific Task. If you want to exercise precise control, scope will let you do that. For example, you could define a Task to modify the CUSTOMER MAINTENANCE input process and you could specify that only that one specific design object (CUSTOMER MAINTENANCE) is allowed to be changed and that it is not allowed to be deleted. However, on the other extreme, if you, as a project manager, don't want to control access to specific design objects, then you can simply not define a scope for a Task.
When defining the scope for a project, job, or task it is sometimes easier to specify the exceptions. For example, you might define a scope to Exclude all design objects and then, by exception, you might define additional scope records identifying specific design objects to be included. Or, you might take the opposite approach and define a scope to Include all design objects and then, by exception, you might define additional scope records identifying specific design objects to be excluded.
Scope can be defined for Projects, Jobs, and Tasks. Scope can also be defined for Suites, Versions, and Applications. If you define scope for a Suite, then all projects tied to that Suite, it's Versions, or it's Applications will be constrained by the scope defined for the Suite. If you define scope for a specific Version of a Suite, then all projects tied to that Version or its Applications will be constrained by the scope defined for the Suite and the Version. The scope defined for a Project, Job, or Task cannot broaden the scope defined for the Suite, Version, or Application that the projected is tied to.
Notes
Notes can be attached at many different points within the structure of the source code control system. Notes can be attached to Suites, Versions, Applications, Projects, Jobs, Tasks, Scopes, and Objects.
Suites
The APPX Source Code Control system requires suites that are to be managed must first be defined. The
Suite Maintenance program can be used to enter and edit suites.
Suite Attributes
Suite ID
Each Suite is uniquely identified by a 10-character Suite ID.
Suite Description
Each suite has a 30-character description.
Design Access
Design access controls what level of access is allowed for the applications within a suite. Design access must be specified for each suite and is inherited by each application in the suite in the event that design access is not specified for the application or the application's version. The following design access levels are allowed:
-
NO ACCESS - Does not allow design objects to be viewed or edited.
-
VIEW ONLY - Allows design objects to be viewed but not edited.
-
NOT TRACKED - Allows design objects to be viewed and edited.
-
TRACKED - Requires that a Project/Job/Task be identified before a design object can be viewed or edited.
Scope Defaults
Each Suite must include default scope specifications indicating that all design objects are to be automatically included or excluded and which design modes are allowed for included objects.
Scope Defaults must be specified for each suite and are inherited by each application in the suite in the event that scope defaults are not specified for the application or the application's version. The scope default fields provide a quick way to specify the equivalent of a scope record for the suite.
Scope defined at the suite level cannot be overridden by project scope records. In other words, a project manager cannot define a project that is outside of the scope defined for the suite.
The scope default values are not inherited by individual scope records when the fields are null (The fields should not be null in individual scope records.)
Scope Type
- INCLUDE - All design objects are included within the scope of the suite.
- EXCLUDE - All design objects are excluded from the scope of the suite.
Allow Add?
If checked, this option will allow new objects to be added to applications within the suite.
Allow Del?
If checked, this option will allow objects to be deleted from applications within the suite.
Allow Chg?
If checked, this option will allow objects to be changed for applications within the suite.
Versions
A Suite may have one or more Versions. For example, a suite may have a Production version, a Development version, and a Test version. Versions are identified by a two-character code. The same version code may be used in more than one suite. However, the applications for a specific version may not be assigned to more than one suite.
Version Attributes
Applications
Each Version of a Suite may have one or more Applications. The same Application may exist in more than one Version. However, a specific application/version may only be assigned to a single suite.
Application Attributes
Scope
Scopes allow you to control what objects can be accessed as part of this Application, Suite, Task or Project. Scopes work with Design Access, and in some cases, have no meaning. For example, if Design Access is NO ACCESS, then Scope is irrelevant, since design access is prohibited.
Scopes can be specified at the Suite, Version, Application, Project, Job and Task levels (highest to lowest). A scope at a lower level modifies or overrides a scope at a higher level. Scopes at the same level are combined to get a net effect. For example, you might have a Scope that allows changes to all subroutines, and another Scope that disallows changes to a specific subroutine.
Projects
Projects can be defined for a Suite, a Suite/Version, or for a Suite/Version/Application. Each project is identified by a 10-character Project ID. Project IDs must be unique at each Suite/Version/Application level. In other words, you can create more than one project with the same Project ID as long as the projects are defined for different Suites, Suites/Versions, and Suites/Versions/Applications.
Depending on which level a project is defined, there is an implied scope constraint. For example, if a project is defined for a specific Suite/Version/Application, then that project can only apply to that specific application and version.
Jobs
A Job is the intermediate level of work. Jobs are subordinate to Projects. Each Project may contain multiple Jobs, and each Job may contain multiple Tasks.
If you have set Design Access to TRACKED in any of your Suites / Versions / Applications, then the designer will have to pick a Project / Job / Task to log the activity against.
Tasks
A Task is the lowest level of work. Tasks are subordinate to Jobs, which are subordinate to Projects. Each Project may contain multiple Jobs, and each Job may contain multiple Tasks.
If you have set Design Access to TRACKED in any of your Suites / Versions / Applications, then the designer will have to pick a Project / Job / Task to log the activity against.
Notes
Use this option to enter or view any free form notes. Notes can be associated with Suites, Versions, Applications, Projects, Jobs, Tasks and Objects.
Bugs:
- Suite Maint - Version count is not correct when two suites have been entered.
- Suite Maint - Scope count should display "None" when no scope records have been entered.
- Suite Maint - needs optional child to go directly to Versions.
- Version Maint - needs optional child to go directly to Applications.
- Suite Maint - Labels are not being displayed correctly on the buttons on the continuation frame for suites.
- Suite Maint - Scope Type, Allow Add?, Allow Del?, and Allow Chg? should all be required fields.
- Suite Maint - Field labels need to be more verbose, e.g. "Allow Add?" could be "Allow New Objects To Be Added?
- Notes Maint - Titlebar needs to identify the parent type that the note is attached to, e.g. "Source Code Control - Suites"
- Notes Maint - Heading area should identify the specific record that the note is attached to, e.g. "Suite: APPXBANG - APPXBANG Business Applications"
- Notes Maint - When adding a note, if you press CANCEL, Notes Maintenance is canceled and you are returned to the calling program. You should be returned to the list of notes.
- Notes Maint - Change is not allowed from the scrolling list of notes. Change should be allowed. Add, delete, and inquire are all allowed.
- Projects/Jobs/Tasks Maint - Add mode is not allowed. I can only add a project from within Application Suites maint.
- Projects/Jobs/Tasks Maint - Object record does not show correct notes count.
- projects/Jobs/Tasks maint - When viewing Full Log Detail, Object record has no owner. What is the owner field used for?
-
Fields are missing documentation -Fixed
- Design - Source Code Control panel should not refer to "# for Xfer"
- Design - Source Code Control panel refers to "# In Use". Don't know what this means. - It's the number of Objects with an Active status.
- Design - Source Code Control - Select Project. Column headings are screwed up.
- Design - allowed me to select a task that had a status of pending. - Changed the status to Active automatically. Seems like the status should be Assigned before it can be selected.
- Design - SCC - Select Project - Does not show all available projects. Maybe because they all had the same Project ID?
- Design - I made a change to an input object and it did not prompt me for a comment describing the change when I exited from the object.
- Design - When looking at the scrolling list of input process, there is no indication of which ones have been changed.
- Design - If I hover over the title Project message, the tooltip that pops up has truncated info.
- Design - Object status screen - data fields are offset to the left and display on top of field labels.
- Design - Options pulldown list all items twice
- Design - Help pulldown list all items twice
- Design - SCC panel on menu still showed 0 in use after I had made a change to an input object.
- Design - SCC Log detail - shows changed=N for an input object after I made a change.
- Design - Fixed - Tried to add a comment to an audit history record. Would not save comment.
- Design - SCC panel on design menu has a label "Control Level". System Admin uses "Design Access". We need to be consistent.
- XFER - SCC let me select object that was not complete.
- XFER - SCC Status values are IDENTIFIED, ACTIVE, and COMPLETED? What is this field??
- XFER - SCC needs to allow xfer of Project, Job, or Tasks based on Dependence & Mgt Status. Should individual objects be allowed to be excluded?
- XFER - Fixed - status column not lined up.
- XFER - two counts in footer - What are they?
- XFER - Clear All and Select All buttons don't seem to work.
- XFER - Selected For Xfer logic field should not allow null value
- SCC Inquiries - Menu says "Object History" - screen says "Object Inquiry".
- SCC Inquiries - Menu says "Objects Inquiry" - screen says "Audit Information - Search".
- Project Maint - Fixed - need to enter field doc.
- SCC Note - Entered notes via Opt 96. Did not select a Project/job/task. Now those notes show on every object via Opt 96.
- SCC Note - There is a 'Process' pulldown menu that shows one item - 'SC- SCTRACK- CUR STATUS' throughout Application Design. Is this supposed to be there?
Enhancements:
- Scope Maint - Need to be able to scan on Object Name field.
- Scope Maint - Need to be able to see all higher level scope records.
- Projects - need to be able to change the level that a project is attached to - Suite, Version, Application. For example, if attached to suite, need to be able to move the project to a version or individual application.
- Projects - it would be nice if we could add a Project directly & specify which Suite/Ver/App it pertained to, instead of adding it in Suite/Versions/Applications first. See #12 above.
Comments:
Read what other users have said about this page or add your own comments.
--
SteveFrizzell - 29 Oct 2007