Krugle Enterprise Feature Summary
A project is a name that uniquely identifies a collection of internal code files which frequently match projects as they are defined in your SCM repository. The Project tab search results provide insight to project specific information including a description of the project, URLs for the project documentation, bug database, and valuable metadata such as associated licenses and the number of files by language.
The code channel allows you to search and find internal code resources. Use this channel when you understand the structure of the code you want to find including things such as class definitions, function definitions or function calls. Code results are based on the repositories and the projects defined.
This channel allows you to search on the comments, instructions and defect tracking references included in the check in comments. Direct links to change sets and individual files make it simple to trace issues and users to code changes and share valuable problem solving methodologies throughout your organization.
Krugle Enterprise provides access to the Open Source Software index at www.krugle.org .
Reporting and Analysis
After specifying files that contain a defect and files implementing a "fix", users can find all instances of the defect, similar defects and implemented fixes - across all projects in the organization. Defect containment definitions can be stored and re-run to check status and monitor projects for "re-appearance" of known issues.
Krugle Enterprise will automatically check specified project grouping for code similarity at the file level as the projects evolve. Files are categorized by similarity level: moderate, high, clone. This information helps developers monitor code divergence, identify refactoring or SOA opportunities and perform more comprhensive impact analysis.
Understanding what you and others search on, download and view will help you better understand your code. Usage statistics provide insight to all user activities including queries, page views, downloads, and note creation.
An important component of leveraging your code base is tracking project activity. Krugle pulls project activity data from your SCM, making check in records easily accessible and easy to evaluate across a project or across the enterprise.
Developers have a comprehensive reference to the activity across projects. The heat map gives developers a quick view of user, code, and SCM activity. In addition, the map highlights open source license compliance on a per - project level.
Understand usage of open source code in your organization. The license analysis alerts you of activity and presence of open source in your code base.
Custom parsers have been built for more than 40 languages allowing syntactically aware search. Specific code features such as function calls, function definitions, class definitions, as well as comments are recognized. This greatly simplifies the task of accurately determining code clones, and code change impact analysis.
User Defined Meta Data
User defined project metadata makes it possible to search for code by the characteristics and descriptions used internally by your team. User defined prioritization of the project also plays a key role in the relevancy of the project and its code.
Clone detection allows you to locate duplicates within internal code files. You can identify commonly used code for SOA candidates or simplify the impact assessment process for code changes across projects that share code.
Advanced Ranking Algorithms
Advanced relevance ranking algorithms use code characteristics and project metadata to bring the most relevant items to the top of the search results list.
Full Query Language
Krugle Enterprise has query support for broad and exact matches of single term and multi-term phrases, phrase combinations and exclusion. The query language supports camel case code tokenizing and filtering by code attributes such as language, license and project.
Advanced Query Qualifiers
Advanced query qualifiers for code search allow users to limit a search to specific repository sites, find code by filename, and search only for function/class definitions or function/class calls.
Users can track code relationships and dependencies. Select any term or group of terms in the code and specify where to search (file, project, all) for that specific term and what code instances to find (definitions, calls, etc.).
Users can search on a code snippet selected from multiple lines in a code file. Options allow exact or "fuzzy" matching within the current project or all code. This feature helps developers detect code patterns that represent defects, vulnerabilities or refactoring opportunities.
Krugle allows users to create, save, and share different types of information (code, documentation, or wiki information) as a single result. A codespace is a set of search result tabs saved to a single bookmark that can be shared with other members of their development team.
Users can add a note to a code file or project, sharing their experience and knowledge with others. Notes improve communication between distributed team members, help new team members come up to speed faster, and assist with code reviews.
Source Code Repositories
Tight integration to code repositories means Krugle can leverage the code and code related information to assist you in finding the code you need. The integration leverages the methodology of each system making implementation familiar and simple. Krugle supports ClearCase, CVS, Perforce, Subversion, Microsoft Team Foundation, Synergy, file system and other SCM systems through its extensible SCMI integration architecture.
Search code, projects, and supporting information directly from your Eclipse IDE, or use the Krugle open API to integrate with other IDEs. Unlike search within your IDE, the Krugle IDE plug-in allows you to search across your organization’s entire code base, as well as the Krugle.org public index.
The Krugle API provides access to the client search services allowing you to integrate and automate Krugle search into your environment. Access to project import facilities, automated code updates, security services and other components is provided in a comprehensive API.
Managing access to your code is as important as the code itself in many cases. Access to specific projects may be defined by an optional group level LDAP configuration. Security configuration is managed as part of the administration and configuration module. The Krugle API allows for alternative ACL options.
Open Source Access and Monitoring
Managing and supporting open source initiatives internally can be a challenge. Krugle administration offers the ability to define and manage allowable external content such as specific open source projects, and provides a mechanism for license discrimination.
Administrators can manage accounts, schedule automatic maintenance tasks, setup notification email lists, control access to code files, and more. Settings and controls include IP settings, logging, and upgrade management.
The SCM Repositories area unifies administration activities for all repositories accessed by Krugle Enterprise. A rich set of options are included to set communication protocols, credentials and access control.