The following is a short list of the current features found in the SpectrumSCM product. As new features are added to the product, this list will be updated to include those new features. |
SpectrumSCM is 100% platform portable Java Platform portability guarantees three things:
|
Issue Tracking SpectrumSCM was built from the ground up with issue tracking and process management tightly integrated. Change Requests flow through a user defined life cycle in either an ad-hoc fashion or in a tightly controlled flow. At any time, users can quickly and easily assess the state of their system by reviewing a dashboard view of all Change Requests currently flowing through the system. |
Change Requests Issue tracking includes the creation of Change Requests or CRs. CRs are used to track actual source level changes against a living trackable issue. Unlike simple change list systems, CRs in SpectrumSCM follow a user defined life cycle. The end result is that no code can be included in a release unless it has passed a user defined approval phase and one or more testing phases. Change Request attibutes and values are completely customizable. This allows each project within a SpectrumSCM system to have a separate set of attribute/value pairs. Change requests can also be migrated across projects with ease. Screen shots of the change request creation screen and report output screen: |
Change Request Attachments Any type of file attachment can be added directly to a SpectrumSCM Change Request. This feature enables the user to reinforce the issues described in the CR with any type of supporting materials. Screen shot of the attachment handler: |
Process/Workflow Management SpectrumSCM comes out of the box with process/workflow management. Users with the appropriate permissions can easily define process flows with individual lifecycle phases. SpectrumSCM process management also includes these key features:
Screen shots of the CR life cycle creation, progression and assignment screens: |
Release Management Unlike most CM tools, releases in SpectrumSCM are not simply defined as labels applied across the resource repository. Releases in SpectrumSCM are comprised of collections of Change Requests that have been approved and are ready to be included in a release. Releases in SpectrumSCM are time Independent, which means that features and bug fixes can be applied or removed from an open SpectrumSCM release at any time. Contrast this to a label based system which is decidedly time dependent. When a label is created it gets applied to all files regardless of their current state or status. SpectrumSCM also tracks file level dependencies, which guarantees that software features that have not been approved don't accidently show up in your product releases. Screen shot of the release management screen: |
Interim Releases Much like the release management feature outlined above, Interim Releases allow users to create transient releases from a list of Change Requests found in any particular state. For instance, Interim Releases can be used to extract all change requests, and thus files, that are currently in the Integration Test or System Testing states. Interim Releases enforce file level dependency checking but also allows the user to "bend the rules" and allow rejected CRs to be included in an Interim Release. When created, an Interim Release also creates a Bill of Materials (BOM), in HTML, that users can browse or post to internal or external websites. Interim Releases can also be instructed to deliver only the files that have actually changed since the last Interim Release pull. This feature can be used with SpectrumSCM's robust workflow management and triggering facilities to automatically keep target directories in sync with work that is progressing along the software development lifecycle. |
Workspace Synchronization and Analysis SpectrumSCM users can quickly and easily keep their local workspaces synchronized with the main repository by using the SpectrumSCM Workspace Synchronizer. The Synchronizer allows the user to select any directory from within their working folder structure and examine the hierarchy for incoming as well as outgoing changes. The Workspace Synchronizer also gives the user a choice of activities that can be performed on detected files. Depending of the action, the user can either download the file from the repository, merge changes up to the repository, add newly created files or visual examine the differences between repository and local workspace files using the built in 2-way diff/merge tool. Workspace Analysis runs in the background and flags files directly in the user's repository view as out of sync or missing altogether. As users navigate through the repository tree structure, the Workspace Analyzer automatically examines the open directory structures and can flag files that are out of sync or missing from the users local hard drive. Together the Analyzer and the Synchronizer make up a powerful set of tools that allows the end user complete control of their local workspace. Screen shot of the Workspace Synchronizer screen and Analyzer: |
Change Request Work breakdown structures Change requests can be related together in parent/child and peer/peer relationships using the SpectrumSCM Work Breakdown Structures feature. Much like how a project management tool might work, SpectrumSCM allows users to create relationships between CRs that guarantee tracability and release enforcement. That is, CRs that are involved in a work breakdown structure must be introduced into a release as a whole, or not at all. In the case of parent/child relationships, children CRs can be introduced into a release individually, but the parent itself cannot be introduced into the release unless all of the children are also ready to be introduced into the same release. Peer to peer relationships guarantee that peer CRs will be introduced into a release at exactly the same time. Thus a project leader can create CRs that represent a large unit of work and also create the individual units of work that represent the actual work that need to get done in order to complete an entire feature. The status of the overall feature can now be tracked using built in work breakdown structure reports. This allows a project lead to quickly and easily determine the status of each individual unit of work associated with a much larger feature. Screen shot of the Work Breakdown Structure feature. |
Powerful graphical diff/merge tools SpectrumSCM comes box stock with two very powerful graphical diff/merge tools. Our diff/merge tools utilize an extemely powerful Virual Text Area widget which allows our diff editors to load and display gigantic text files of up to 300MB and more. The tools also support syntax highlighting for over 20+ programming languages. Our graphical diff/merge tools are even available through our IDE integrations thanks to our patent pending SpectrumSCM Dashboard technology. Screen shots of the VirtualTextArea editor with syntax highlighting and second third shots of side by side(2-way) and 3-way diff/merge tools: |
Advanced Branching SpectrumSCM is not limited to a single branching model like many of our competitors. Our tool supports product level branching instead of simple file level branching. Branches can be quickly and easily formed to support many types of branching patterns. In fact, our white paper on Advanced branching techniques highlights some of the branching patterns that SpectrumSCM easily supports. A key element of our branching model includes the ability to not only merge files together, but it also allows the user to "recommon" two files back into a single repository resource. This feature allows feature and bug fix branches to be used over and over again thus avoiding the forest of branches and tags that show up in other CM systems. Another key feature in our branching model is the ability to edit a file that is "common" across several branches. In effect, this allows a user to apply the changes done to a single file across several branches simultaneously. The user has the power to decide, before an edit is performed, whether the edit should be applied across multiple branches or to be confined to a single branch. |
File Version History Browser This new feature allows users to quickly and easily browse the version history of any file. Users can also quickly open any previous version of a file and also visually compare any version of a file against any other version of the same file. |
CR Integrator The CR Integrator is designed to help automate the process of merging or recommoning changes from one generic (branch) to another. The need to automate the merging of files and Change Requests across branches/Generics is a direct result of the use of branching patterns to resolve complicated SCM problems. For instance, in the sandbox pattern, a developer or team of developers perform their work relative to a sandbox generic, isolated from the main production line. Later, when that work has been completed, the work is merged into the mainline branch. Some merge-items can be automatically completed, leading to huge productivity gains. For items that require manual intervention, the user will be walked through the necessary steps to resolve any merge conflicts. This in turn not only gives the user productivity gains, but also ensures the stability of the product. Overall this new feature significantly improves merge action confidence, while greatly increasing user productivity. This feature eliminates many of the error prone steps that are typical in performing branching and merging operations as part of parallel development activity. |
Workspace Diff Tools The SpectrumSCM Workspace Difference tool-set allows the user to compare entire directory structures side by side and also allows users to open up 2-way and 3-way merge tools against either those files or any other files in the file system. The directory difference tool can be used to compare directory structures by file Date, Size or CRC value. The workspace difference tool-set also includes direct access to the SpectrumSCM 2-way and 3-way difference editors which can be now used as general purpose Diff/Merge tools across the enterprise to compare any two text source files. This has full editing capabilities as well as the graphical displays of the differences and right-click easy resolution of those. Extending this tool for wider use, facilitates increased user productivity and efficiency in dealing with Branching and Merging situations. |
Access Control Lists Access Control Lists allow an administrator to set access rights on repository resources based on user roles and responsibilities. Much like the permissions model found on Unix based systems, access to repository resources can be set to READ-WRITE, READ-ONLY and HIDE for any user role defined in the system. Users with specialized needs can be assigned to roles that may or may not have greater access permissions as compared to the other roles defined in the system. As an example, system architects may have write access to project design documents while developers may only have read level access to the same files. Screen shot of the Access Control List feature. |
Keyword Expansion By adding keyword text into your source files, those keywords will be auto-expanded to show information about that version of the file. Attribute keywords include: file version number, latest author, change request information, among others. |
Agile File Rename and Move Capabilities SpectrumSCM has native file move and rename capabilities. Files can be renamed and moved on the fly without losing version history or impacting previous releases. All changes are immediately associated with a change request so there is never any confusion about who made the name or location change and when they did it. |
File Relocator In support of agile development methodologies, a file’s association with a change request can now be dynamically relocated within the SpectrumSCM repository. This means that accidentally incorrect associations can quickly and easily be corrected. |
Custom Editor Support SpectrumSCM supports any number of user defined custom editors on all platforms. Just like registry association in some operating systems, user can define different editors to work with different types of repository sources. For instance, XML docuemnts can be associated with an XML editing facility while plain text items can be associated with standard text editors e.g, vi, emacs, Visual Slick Edit, etc... Users can use the "Open With" facility found on the context sensitive menu system within the SpectrumSCM repository view to select any editor for use at any time. |
SpectrumSCM Proxy The SpectrumSCM Proxy provides enhanced performance for distributed development teams in bandwidth constrained network topologies. The proxy acts as a bridge between the SpectrumSCM client and server, it builds a cache for frequently checked out revisions of the e-Assets that are under source control. Files checked out by a client are used to serve similar requests from other clients, thus improving overall response time for check-outs and extracts. The proxy not only provides a better user experience for remote teams but also reduces the network traffic across the WAN and the load on the remote SpectrumSCM server. |
Strong Integrations SpectrumSCM fully integrates with the following IDEs and Office suites:
Various screen shots of Visual Studio .NET windows and output screens: |
Customizable Reports SpectrumSCM comes box stock with a selection of reports which includes everything from simple Change Request reports to a complete bill of materials (BOM) for product releases. Customized reports can be created quickly and easily and plugged into a running SpectrumSCM server. No reboot necessary. |
Binary file support SpectrumSCM easily handles binary files of any size. On initial check in the system will determine a files type and prompt the user for confirmation. The user can choose to override the systems decision thus allowing large ASCII files to be checked in as binary or small binary files to be checked in as ASCII. |
LDAP Support SpectrumSCM supports LDAP for single sign-on capability with internet/intranet based corporate support systems. |
SSL and SSH Enabled The SpectrumSCM client and server use SSL (secure socket layers) for communication when high security is a concern. The SpectrumSCM client will also work over SSH tunnels for secure communications when SSL is not an option. |
Firewall support Firewall support includes the ability to limit the ports that SpectrumSCM clients use to communicate with the SpectrumSCM server. This allows firewall administrators to tune access for users located outside the firewall. |
Compression of Resources All resource transmissions between the SpectrumSCM client and server are compressed to reduce network resource utilization. The user can configure the highwater mark that controls the point at which compression should be employed. This allows the end user to balance the time spent compressing an item against the time it takes to transmit an uncompressed resource over the network. |
Modules Modules are single names associated with many configuration management items. The module facility allows users to work on groups of files the same way they would work on a single file. As an example, by checking out a single module, all the files or resources associated with that module are automatically checked out. Here's the main screen shot again. Look in the upper right corner for the modules selections: |
Search Capabilities SpectrumSCM supports full regular expression searching against the following repository resources:
Screen shot of main screen with search done on regular expression library for the word PERL5: |
Integrated Chat The SpectrumSCM main screen contains a chat feature that allows users to communicate quickly and easily regardless of physical location. |
Commandline Utilities SpectrumSCM comes with a complete set of command line utilties that allow access to all SpectrumSCM functionality from an OS command level prompt. |
Zero Maintenance Database SpectrumSCM utilizes an industrial strength zero maintenance ODBMS from Progress Software. There are no administrative tasks that the end user organization is required to handle. |
Access Control SpectrumSCM allows administrators to configure the access rights of users via roles and responsibilities. The system comes box stock with a set of predefined user roles that cover most of the common user roles including Developer, tester, administrator, project lead. Administrators can create new user roles by grouping specific user abilities into a new role name. SpectrumSCM also allows administrators to limit access to the server or to open up access to the server via access control configuration files. |
Easy to use Simply said, SpectrumSCM is easy to use. But don't take our word for it. See what our users have to say about SpectrumSCM's ease of use at www.spectrumscm.com |
Need more information? The complete SpectrumSCM User Guide is online and can be found Here. |